Phenotyping effort

Collaborative phenotyping effort of European Drosophila melanogaster populations

Genomic analyses (Kapun et al. 2020) showed that there is longitudinal population structure, continent-wide sweeps, candidate genes for local climate adaptation by using 48 pooled population samples from 32 locations.

In 2017, DrosEU consortium has decided to make a collaborative phenotyping effort of European Drosophila melanogaster populations at the Groningen meeting.

The call was made with approximate numbers of populations, lines, etc. and under predefined criteria (finish within a year, reps, blocks, etc) and participating labs have indicated which traits they are willing to phenotype.

Sampling Locations

Nine sampling locations were chosen based on genomic data and cover a wide range of latitude (~20°) and longitude (~40°) across the continent (see table below). From each location, 15 to 20 isofemale lines were established in corresponding labs at the sampling location and the isofemale lines were centrally maintained by Élio Sucena at Instituto Gulbenkian de Ciência (IGC), Lisbon, Portugal. A total of 173 isofemale lines were used in this study.

Table X. Sampling locations, coordinates and collectors, sorted by increasing latitude
Country Location Latitude Longitude Altitude Collector
Portugal Recarei 41.150 -8.410 175 Jorge Vieira
Spain Gimenells (Lleida) 41.618 0.620 173 Josefa Gonzalez
Denmark Karensminde 55.945 10.213 15 Mads Schou
Germany Munich 48.180 11.610 520 Amanda Glaser-Schmitt
Austria Mauternbach 48.375 15.560 572 Andrea Betancourt
Finland Akaa 61.100 23.520 88 Maaria Kankare
Ukraine Uman 48.753 30.206 214 Iryna Kozeretska
Turkey Yesiloz 40.231 32.260 680 Banu Onder
Russia Valday 57.979 33.244 217 Elena Pasyukova
## Scale on map varies by more than 10%, scale bar may be inaccurate

Contributers (phenotyping)

Contributed labs are Abbott, Bergland, Billeter, Colinet, Flatt, Fricke, Gibert, Gonzalez, Grath, Hoedjes, Kozeretska, Mensch, Onder, Parsch, Pasyukova, Posnien, Ritchie, Schlötterer, Schmidt, Stamenkovic-Radak, Sucena, Tauber, Vieira, Wegener, Zwaan and detailed list below :

Table X. Contributed labs and traits, sorted by PI
Country Lab PI Trait
Sweden Lund Abbott Pigmentation
USA Charlottesville Bergland Diapause
The Netherlands Groningen Billeter Fecundity
France Rennes Colinet Dry weight
Switzerland Fribourg Flatt Diapause
Switzerland Fribourg Flatt Lifespan
Germany Muenster Fricke Fecundity
France Lyon Gibert Development time
France Lyon Gibert Pigmentation
France Lyon Gibert Viability
Spain Barcelona Gonzalez Cold-shock mortality
Spain Barcelona Gonzalez Starvation resistance
Germany Munich Grath Development time
Germany Munich Grath Viability
The Netherlands Lausanne Hoedjes Development time
The Netherlands Lausanne Hoedjes Dry weight
The Netherlands Lausanne Hoedjes Viability
Ukraine Kyiv Kozeretska Cold-shock mortality
Ukraine Kyiv Kozeretska Thorax length
Argentina Buenos Aiers Mensch Chill-coma recovery time
Turkey Ankara Onder Dry weight
Turkey Ankara Onder Starvation resistance
Turkey Ankara Onder Wing area
Germany Munich Parsch Heat-shock mortality
Germany Munich Parsch Lifespan
Russia Moscow Pasyukova Lifespan
Russia Moscow Pasyukova Starvation resistance
Germany Göttingen Posnien Thorax length
Germany Göttingen Posnien Wing area
UK St Andrews Ritchie Thorax length
UK St Andrews Ritchie Wing area
UK St Andrews Ritchie Wing patterning 
Austria Vienna Schlötterer Diapause
USA Philadelphia Schmidt Development time
USA Philadelphia Schmidt Pigmentation
USA Philadelphia Schmidt Thorax length
USA Philadelphia Schmidt Time to pupation
USA Philadelphia Schmidt Viability
Serbia Belgrade Stamenkovic-Radak Development time
Serbia Belgrade Stamenkovic-Radak Viability
Serbia Belgrade Stamenkovic-Radak Wing area
Portugal Lisbon Sucena Fly husbandry
Israel Haifa Tauber Locomotor activity
Portugal Porto Vieira Chill-coma recovery time
Portugal Porto Vieira Cold-shock mortality
Portugal Porto Vieira Heat-shock mortality
Germany Würzburg Wegener Circadian eclosion timing
The Netherlands Wageningen Zwaan Development time
The Netherlands Wageningen Zwaan Viability

Contributers (analyses)

Esra Durmaz (all), Envel Kerdaffrec (all), Katja Hoedjes (DW, Via, DT), Banu Onder (SR, WA), Chris Wegener (CET), Eran Tauber (LA), Rudolf Rohr (UniFr), coordination-team

Phenotyping

Overview

Methods

Wolbachia

Wol_Freqs <- data.frame(unique(droseu_wol$Population))

Wol_Pops <- c((AK_freq <- nrow(droseu_wol %>% filter(Population=="AK") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "AK")) * 100), 
  (GI_freq <- nrow(droseu_wol %>% filter(Population=="GI") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "GI")) * 100), 
  (KA_freq <- nrow(droseu_wol %>% filter(Population=="KA") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "KA")) * 100), 
  (MA_freq <- nrow(droseu_wol %>% filter(Population=="MA") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "MA")) * 100), 
  (MU_freq <- nrow(droseu_wol %>% filter(Population=="MU") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "MU")) * 100), 
  (RE_freq <- nrow(droseu_wol %>% filter(Population=="RE") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "RE")) * 100),
  (UM_freq <- nrow(droseu_wol %>% filter(Population=="UM") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "UM")) * 100),
  (VA_freq <- nrow(droseu_wol %>% filter(Population=="VA") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "VA")) * 100),
  (YE_freq <- nrow(droseu_wol %>% filter(Population=="YE") %>% filter(Wolbachia=="1")) / 
  nrow(droseu_wol %>% filter(Population == "YE")) * 100))

pop_freqs <- cbind(unique(droseu_wol$Country), Wol_Freqs, Wol_Pops)

cols <- c("Country", "Population", "Wolbachia_Freq")
pop_freqs <- setnames(pop_freqs, cols)
pop_freqs
##    Country Population Wolbachia_Freq
## 1  Finland         AK      100.00000
## 2 Portugal         GI       66.66667
## 3  Denmark         KA       85.00000
## 4  Austria         MA       75.00000
## 5  Germany         MU       94.73684
## 6    Spain         RE       47.05882
## 7  Ukraine         UM       69.23077
## 8   Russia         VA       75.00000
## 9   Turkey         YE       85.00000

Diets

Inversion Frequencies

Traits

Contributors and their experimental methods

Viability

Gibert, Grath, Hoedjes, Schmidt, Stamenkovic-Radak and Zwaan Labs

3-5 day old adults (at least 25 pairs) are allowed to lay eggs en masse. Yeast is provided to stimulate egg laying (for at least 2 hours). Eggs are collected, and 40 are placed in each vial(^*^). Viability is calculated per vial, as the percentage of individuals that emerged from the 40 eggs.

Please see below number of

^*^ @ Schmidt lab, females were allowed to lay eggs for Xh, and viability is calculated as the percentage of individuals that emerged from total number of eggs, per vial.

Developmental time

Egg-to-pupa developmental time

Schmidt Lab

Egg-to-adult developmental time

Gibert, Grath, Hoedjes, Schmidt, Stamenkovic-Radak and Zwaan Labs

Developmental time is scored as both the egg-to-pupa and egg-to-adult development time. Both were scored twice a day, when the chamber lights are turned on and two hours before they are turned off. In order to measure the egg-to-pupa developmental time, the spot where a pupa is found is marked with a permanent marker to keep track of which pupae have emerged in each day. The egg-to-adult developmental time is estimated by counting all emerged adults from the vial, and by sexing them.

Dry weight

Colinet, Hoedjes and Onder Labs

At day 7 after emergence, flies are killed by snap freezing them in liquid nitrogen, by putting them at -20ºC or by putting them into an ethyl acetate solution and stored at -20ºC. Then they are sexed and placed into 96 wells plates, and placed in an oven set at 60-70 °C, for at least 3 days. At this point flies can be stored at room temperature using a protective cover. If this is the case, the day before measurements are made dry flies are again placed for 24h in the oven (60-70 °C) to ensure material is well dehydrated. Flies are then placed on a small piece of aluminium foil for direct weight measurement on microbalance (accuracy 1µg).

Thorax length

Kozeretska, Posnien, Ritchie and Schmidt Labs

Five to seven days old flies are placed onto a double-sided sticky tape attached to a microscope slide and a picture of the thorax taken using a digital camera connected to a dissecting microscope. The same magnification and resolution is always used to increase reproducibility, and a scale bar inserted on each photo to allow transforming pixels into µm units. Thorax length is defined as the distance from the anterior margin of the thorax to the posterior tip of the scutellum and it is measured using the “Straight Line” in ImageJ/Fiji.

Wing area

Onder, Posnien, Ritchie and Stamenkovic-Radak Labs

Both the left and right wings of five to seven days old flies (10 flies per sex per replicate) are removed and placed into a drop of Entellan®Merck, Hoyer’s Medium, sticked to a double-side sticky tape, or taped directly to the slide. Pictures of the wing preparations are taken using a digital camera connected to a dissecting microscope. The same magnification and resolution is always used to increase reproducibility. A scale bar is placed on each photo to allow transforming pixels into µm units. Manual measurements of wing length and wing area are performed using the “Straight Line” and “Polygon Selection” tools, respectively of ImageJ/Fiji (10.1371/journal.pone.0000007).

Fecundity

Billeter and Fricke Labs

For each isofemale line, 10 males and 10 females are placed together in single-sex groups and allowed to mature for five days. Then, they are placed together (5-7 pairs), and mating interactions observed to ensure successful mating (at least 10 min copulation duration) to ensure that we have five successfully mated females. After a successful mating, males are discarded and females allowed to oviposit alone for 48 hours, moved to another vial, and allowed to oviposit for four days, and again moved to another vial and allowed to oviposit for two days to check that of egg-laying stopped. Vials are incubated until all offspring is born. Individuals are then frozen and the offspring counted.

Lifespan

Flatt, Parsch and Pasyukova Labs

Line level lifespan: Ten flies per sex/line are placed in each vial. The age at death will be scored when changing the food, at least three times a week. Five replicates are used.

Population level lifespan: Flies are kept in 1L demography cages (5 flies per line/sex for each population). The age at death will be scored when changing the food, at least three times a week. Ten replicates were performed.

Cold-shock mortality

Gonzalez, Kozeretska and Vieira Labs

Batches of 15-20 seven days old flies are placed for 18 hours in an empty vial immersed in an ice-water slurry box placed at a 4°C room for 18 hours. Then the vials are removed to a bench in a 25°C room and mortality scored 24 hours later.

Chill-coma recovery time

Vieira and Mensh Labs

Sexed flies are placed in an empty vial immersed in an ice-water slurry box placed at a 4°C room in the morning. Six hours later, flies are removed from the tube to individual wells of 24 well plates while being kept on ice. A timer is started once the plate is moved from the ice to a bench in a 25°C room. Each fly is checked by eye for recovery for a maximum of 60 minutes. Flies that are able to stand on their legs are considered recovered and the CCRT (in seconds) recorded.

Heat-shock mortality

Parsch and Vieira Labs

Batches of 15-20 seven days old flies are placed in empty vials inside a 37ºC incubator and mortality checked for 7 hours every 30 minutes.

Diapause

Bergland, Flatt and Schlotterer Labs

In order to induce diapause, two hour old ‘phenotypic virgins’ (pharate or melanized with meconium visible) female flies are exposed to 12°C and 10:14 light/dark hours for 3 weeks, using an incubator that allows temperature tracking. Vials are changed once per week. After three weeks under diapause conditions, flies are frozen at -80C until dissection. Both ovaries will be examined and classified according to the following simplified ‘classification’: 1) < stage 10: diapause; 2) stage 10-13: intermediate; 3) stage 14: non-diapause.

  • Standard diapause conditions: 12°C at 10:14 hrs L:D (under these conditions we might expect around 50% dipause frequency)
  • duration of exposure: 3 weeks
  • assays will be done in incubators (Percival or Memmert); temperature conditions will be tracked using data loggers / iButtons
  • Try to have haphazard standardization; similar conditions coupled with consistent tracking of temperature (multiple iButtons, for example)
  • We will use egg lays in bottles to be able to collect more flies for the assay (approx. 1-2 bottles per line)
  • Larval density will be controlled (approximately) prior to assays: we will do this by letting a fixed number of (approx. 10-20) females (housed together with 5-10 males) oviposit over night (fixed time window) - how many females and the duration of egg laying might need to be adjusted a bit depending on the fertility of the lines (to be determined when lines are being amplified prior to assays)
  • The Bergland and Flatt labs will standardize their fly food according to the Gulbenkian recipe (in terms of amounts / proportions); Manolis from the Schlötterer lab will not standardize the food and use their local diet; importantly, flies for the assays will not be exposed to any (additional) live yeast (i.e., the diet will contain liophilized yeast but no live yeast sprinkled on top).
  • From the bottles we will collect upon eclosion ‘phenotypic virgins’ (=pharate adults or melanized with meconium visible), approx. within 2 hours after eclosion
  • Flies will be kept in vials for assay (15-20 flies in the same vial to account for mortality); we aim to measure a minimum of 10 females per line (from approx. 10-15 lines x 10 populations, yielding about 1000-1500 flies for dissections in total)
  • The food in the assays will be changed once per week
  • To keep the workload and effort manageable the assays will be performed in 2-3 blocks (optimally only 2) over time: e.g., from each population we will measure a subset of all lines (e.g., 5-7 lines, i.e. 1/2 or 1/3 of all lines) in each of the 2-3 blocks.
  • After 3 weeks under diapause conditions, flies will either be dissected or kept frozen until dissection (dry, at -80C; can be stored for a few months)
  • We will adopt a simplified diapause ‘classification’:
  • Stage 10 will be defined as the checkpoint
  • < Stage 10: diapause
  • Stage 10-13: intermediate
  • Stage 14: non-diapause
  • We will examine both ovaries.

Circadian eclosion timing

Wegener Lab

Locomotor activity

Tauber Lab

The locomotor activity of the flies (males only) was measured using the DAM2 Drosophila monitors (Trikinetics Inc., Waltham, MA). Flies were 1-3 days old. Single flies were placed in glass tubes (10 cm × 0.5 cm) that were filled with 2 cm sugar/agar medium. The monitors were placed in light chambers driven by LED, in an incubator at 24°C, ~30% humidity. The flies were entrained to a light-dark cycle (LD 12:12) for 5d and then allowed to free-run for 10 d in constant darkness (DD). The activity data were processed into 30 min bins, and four different variables were analysed. These included the circadian period, and the phase, which were analyzed using the FFT NLLS algorithm available at the BioDare2 server (https://biodare2.ed.ac.uk/). The other two variables, level of activity and the nocturnal/diurnal ratio were analyzed by a custom-made R script.

Starvation resistance

Gonzalez, Onder and Pasyukova Labs

Batches of 10 sexed flies are transferred to glass vials filled with 5 mL of 2% agar for starvation 3-7 days after eclosion. The age at death will be scored every 8 hours.

Pigmentation

Abbott, Gibert and Schmidt

For each line, 10 females, 13-15 days old, either alive or stored in 95% ethanol, are air dried and placed on their left side, and pictures taken using a dissecting microscope. Images are then analysed in ImageJ 1.46r, using the Area Fraction measurement in the Analyze menu. Area Fraction measures the percentage of pixels in a selected area that have been highlighted in red using the Threshold tool. This gives an estimate of the percentage of dark pigmentation on the three terminal tergites of the abdomen (4, 5 and 6).

Data reformatting

MasterSheets

Insert a MasterSheet example

Data check

For each trait, sex and lab, we run counts for population, line and replicate vial (if applicable).

insert count tables

Results I : Linear Models

text BLA BLA BLA

TABLES

Here is an example code for tables (egg-to-adult viability). The very same code is used for other traits (either with or without Batch) by filtering the data at supervisor, batch, population and/or line levels (and also for sex, if applicable).

## First defined standard error and coefficient of variation

std_err <- function(x) sd(x)/sqrt(length(x))
coef_var <- function(x) sd(x)/mean(x)
estimate_mode <- function(v) {
   uniqv <- unique(v)
   uniqv[which.max(tabulate(match(v, uniqv)))]
}
# Then compute descriptive statistics (mean, median, minimum, maximum, standard error, coefficient of variation and mode) at the defined levels (line with batch information example below) : 

table_Via_Line_wbatch <- write.csv(d_Via %>% group_by(Supervisor.PI, Batch, Population, Line) %>% summarise_at(vars(ProportionEggtoAdultSurvival), list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, SE = std_err, CV = coef_var, Mode = estimate_mode)), file = "Viability//table_Via_Line_wbatch.csv", row.names = T)

table_Via_Line_wbatch <- read.csv("Viability/table_Via_Line_wbatch.csv") #file name is here 

Tables for descriptive statistics at population and line levels can be found in the main trait directory, under the file name table_TraitAbbreviation_Level_BatchInfo.csv (i.e. table_Via_Line_wobatch.csv)

FIGURES

Data range is calculated with #r min() and #r max() functions for each trait.

y-axis on the figures is scaled by the minimum (#r min_trait) and maximum (#r max_trait) values in the full data set for a given trait.

The very same ggplot theme has been used all across the document, called droseu_theme

droseu_theme <- theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black",),  axis.title.x = element_text(size = 16), axis.text.x = element_text(size = 16),axis.text.y = element_text(size = 16),axis.title.y = element_text(size = 16))

p_TraitAbbreviation_Lab + coord_cartesian(ylim = c(min_trait, max_triat)) + droseu_theme 

Here is an example code for figures (egg-to-adult viabiliy, Gibert Lab). The very same code is used to generate plots for other contributing labs and traits (either for Batch or Population) by filtering the data at supervisor level (for females and males separately, if applicable).

pdf(file="Viability/p_Via_Gibert.pdf",width=8, height=5)

p_Via_Gibert <- ggplot(data = (subset(d_Via,Supervisor.PI=='Gibert')), #subsets for supervisor
                       aes(x=Population_Lat, y=ProportionEggtoAdultSurvival, fill=Batch)) + #define x- and y-axis
                       geom_boxplot(outlier.shape = NA, notch=FALSE) +  #boxplot
                       geom_jitter(width=0.2,alpha=0.05) + #jitters
                       labs(title="p_Via_Gibert", x="Population", y = "ProportionEggtoAdultSurvival") #axis labels


p_Via_Gibert + coord_cartesian(ylim = c(min_Via, max_Via)) + droseu_theme #y-axis limits and droseu_theme
dev.off()

LINEAR MODELS

Here is an example code for linear models (egg-to-adult development time, males, Gibert Lab). The very same code is used for other contributing labs and traits by filtering the data at supervisor level (for females and males separately, if applicable), adding or removing factors if they cause singularity problems (i.e. if only one replicate vial has been phenotyped per line and/or population and/or batch, the lowest level [ replicate_vial in this example] has been dropped from given model).

DT_A_M_lmer_Gibert <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + #Line (random) is nested in Population (fixed)
                             (1|Batch) + #Batch is a random effect 
                             (1|ReplicateVial : Line), #Replicate vial (random) is nested in Line (random)
                           data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "Gibert",]) #Filter by Lab in development time, males data 
capture.output(summary(DT_A_M_lmer_Gibert),file = "DevelopmentTime/DT_A_M_lmer_Gibert_sum.txt") #save output summary 
capture.output(anova(DT_A_M_lmer_Gibert),file = "DevelopmentTime/DT_A_M_lmer_Gibert.txt") #save anova output 
capture.output(emmeans(DT_A_M_lmer_Gibert, list(pairwise ~ Population), adjust = "tukey"),file =  "DevelopmentTime/DT_A_M_lmer_Gibert_tk.txt") #run and save post-hoc test (tukey) output 
anova(DT_A_M_lmer_Gibert) #print anova output
summary(DT_A_M_lmer_Gibert) #print model output summary 

Please note that “Plots and Linear Models by Lab” are presented in alphabetical order.

Viability

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Gibert Lab :Cristina Vieira, Laurence Mouton, Natacha Kremer, Sonia Martinez, Patricia Gibert

Grath Lab : Ingo Müller, Sonja Grath

Hoedjes Lab : Hristina Kostic, Katja Hoedjes

Schmidt Lab : Ozan Kiratli, Yonatan Babore, Liam Forsythe, Paul Schmidt

Stamenkovic-Radak Lab : Marija Savic Veselinovic, Marija Tanaskovic, Aleksandra Patenkovic, Mihailo Jelic, Katarina Eric, Pavle Eric, Slobodan Davidovic, Marina Stamenkovic-Radak

Zwaan Lab : Joost van den Heuvel, Bas Zwaan

Data reformatting

Reading data in R

d_Via <- read.csv("MasterSheets_Oct21_git/VIA_MasterSheet_Oct21.csv")
str(d_Via)
## 'data.frame':    2367 obs. of  12 variables:
##  $ Supervisor.PI               : chr  "Gibert" "Gibert" "Gibert" "Gibert" ...
##  $ Diet                        : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch                       : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population                  : chr  "AK" "AK" "AK" "AK" ...
##  $ Line                        : chr  "AK1" "AK1" "AK1" "AK10" ...
##  $ ReplicateVialOld            : int  1 2 3 1 2 3 1 2 3 1 ...
##  $ ReplicateVial               : chr  "Gibert_1_AK1_1" "Gibert_1_AK1_2" "Gibert_1_AK1_3" "Gibert_1_AK10_1" ...
##  $ ProportionEggtoAdultSurvival: num  0.68 0.73 0.63 0.85 0.75 0.8 0.85 0.88 0.7 0.68 ...
##  $ Country                     : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude                    : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude                   : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude                    : int  88 88 88 88 88 88 88 88 88 88 ...

Factors need reformatting (i.e. Supervisor.PI should be coded as a factor, not character).

str(d_Via)
## 'data.frame':    2367 obs. of  12 variables:
##  $ Supervisor.PI               : chr  "Gibert" "Gibert" "Gibert" "Gibert" ...
##  $ Diet                        : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch                       : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population                  : chr  "AK" "AK" "AK" "AK" ...
##  $ Line                        : chr  "AK1" "AK1" "AK1" "AK10" ...
##  $ ReplicateVialOld            : int  1 2 3 1 2 3 1 2 3 1 ...
##  $ ReplicateVial               : chr  "Gibert_1_AK1_1" "Gibert_1_AK1_2" "Gibert_1_AK1_3" "Gibert_1_AK10_1" ...
##  $ ProportionEggtoAdultSurvival: num  0.68 0.73 0.63 0.85 0.75 0.8 0.85 0.88 0.7 0.68 ...
##  $ Country                     : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude                    : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude                   : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude                    : int  88 88 88 88 88 88 88 88 88 88 ...
d_Via$Supervisor.PI <- as.factor(d_Via$Supervisor.PI)
d_Via$Diet <- as.factor(d_Via$Diet)
d_Via$Batch <- as.factor(d_Via$Batch)
d_Via$Population_Lat <- factor(d_Via$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_Via$Population_Lon <- factor(d_Via$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_Via$Population_Alt <- factor(d_Via$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_Via$Line <- as.factor(d_Via$Line)
d_Via$ReplicateVial <- as.factor(d_Via$ReplicateVial)
d_Via$ProportionEggtoAdultSurvival <- as.numeric(d_Via$ProportionEggtoAdultSurvival)
d_Via$Country <- as.factor(d_Via$Country)
d_Via$Latitude <- as.numeric(d_Via$Latitude)
d_Via$Longitude <- as.numeric(d_Via$Longitude)
d_Via$Altitude <- as.numeric(d_Via$Altitude)

# Now they should be in the correct format, see below. 
str(d_Via)
## 'data.frame':    2367 obs. of  15 variables:
##  $ Supervisor.PI               : Factor w/ 6 levels "Gibert","Grath",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet                        : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch                       : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population                  : chr  "AK" "AK" "AK" "AK" ...
##  $ Line                        : Factor w/ 172 levels "AK1","AK10","AK11",..: 1 1 1 2 2 2 4 4 4 9 ...
##  $ ReplicateVialOld            : int  1 2 3 1 2 3 1 2 3 1 ...
##  $ ReplicateVial               : Factor w/ 2367 levels "Gibert_1_AK1_1",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ ProportionEggtoAdultSurvival: num  0.68 0.73 0.63 0.85 0.75 0.8 0.85 0.88 0.7 0.68 ...
##  $ Country                     : Factor w/ 9 levels "Austria","Denmark",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Latitude                    : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude                   : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude                    : num  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat              : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon              : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt              : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
# Voila! 

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

min_Via <- min(d_Via$ProportionEggtoAdultSurvival)
max_Via <- max(d_Via$ProportionEggtoAdultSurvival)

Gibert Lab

anova(Via_lmer_Gibert)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq  Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 0.6029 0.075362     8 154.72  8.1983 3.224e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(Via_lmer_Gibert)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ProportionEggtoAdultSurvival ~ Population + (1 | Line:Population) +  
##     (1 | Batch)
##    Data: d_Via[d_Via$Supervisor.PI == "Gibert", ]
## 
## REML criterion at convergence: -687.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.8895 -0.5220  0.0038  0.5549  2.4861 
## 
## Random effects:
##  Groups          Name        Variance  Std.Dev.
##  Line:Population (Intercept) 1.064e-02 0.103146
##  Batch           (Intercept) 6.195e-05 0.007871
##  Residual                    9.192e-03 0.095877
## Number of obs: 532, groups:  Line:Population, 169; Batch, 3
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)    0.75693    0.02658  51.26227  28.476  < 2e-16 ***
## PopulationGI  -0.14773    0.03986 155.28178  -3.706 0.000292 ***
## PopulationKA  -0.03422    0.03696 155.95970  -0.926 0.355981    
## PopulationMA  -0.11278    0.03691 154.48413  -3.056 0.002647 ** 
## PopulationMU  -0.03629    0.03692 155.28351  -0.983 0.327104    
## PopulationRE  -0.11002    0.03921 155.98273  -2.806 0.005655 ** 
## PopulationUM  -0.04241    0.03792 155.09608  -1.118 0.265136    
## PopulationVA  -0.12079    0.03692 155.28351  -3.272 0.001316 ** 
## PopulationYE  -0.24601    0.03692 155.28351  -6.664 4.38e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.640                                                 
## PopulatinKA -0.691  0.462                                          
## PopulatinMA -0.693  0.463  0.500                                   
## PopulatinMU -0.692  0.463  0.500  0.500                            
## PopulatinRE -0.651  0.437  0.470  0.470  0.471                     
## PopulatinUM -0.673  0.451  0.487  0.487  0.487  0.458              
## PopulatinVA -0.692  0.463  0.500  0.500  0.500  0.471  0.487       
## PopulatinYE -0.692  0.463  0.500  0.500  0.500  0.471  0.487  0.500

Grath Lab

anova(Via_lmer_Grath)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value Pr(>F)
## Population 0.07035 0.035175     2 27.293  2.1926 0.1309
summary(Via_lmer_Grath)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ProportionEggtoAdultSurvival ~ Population + (1 | Line:Population)
##    Data: d_Via[d_Via$Supervisor.PI == "Grath", ]
## 
## REML criterion at convergence: -155.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.14211 -0.56745  0.04161  0.55412  2.60033 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.003394 0.05826 
##  Residual                    0.016043 0.12666 
## Number of obs: 147, groups:  Line:Population, 30
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)   0.69027    0.02612 28.41694  26.424   <2e-16 ***
## PopulationMU -0.07424    0.03664 27.57805  -2.026   0.0525 .  
## PopulationRE -0.05444    0.03664 27.57805  -1.486   0.1487    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltMU
## PopulatinMU -0.713       
## PopulatinRE -0.713  0.508

Hoedjes Lab

anova(Via_lmer_Hoedjes)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF DenDF F value    Pr(>F)    
## Population 0.35451 0.044314     8   158  6.1992 5.871e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(Via_lmer_Hoedjes)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ProportionEggtoAdultSurvival ~ Population + (1 | Line:Population) +  
##     (1 | Batch)
##    Data: d_Via[d_Via$Supervisor.PI == "Hoedjes", ]
## 
## REML criterion at convergence: -712.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7848 -0.5126 -0.0026  0.5498  2.7446 
## 
## Random effects:
##  Groups          Name        Variance  Std.Dev. 
##  Line:Population (Intercept) 1.219e-02 1.104e-01
##  Batch           (Intercept) 2.196e-12 1.482e-06
##  Residual                    7.148e-03 8.455e-02
## Number of obs: 501, groups:  Line:Population, 167; Batch, 4
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)    0.77450    0.02699 157.99983  28.694  < 2e-16 ***
## PopulationGI  -0.17183    0.04123 157.99984  -4.168 5.06e-05 ***
## PopulationKA  -0.05633    0.03817 157.99984  -1.476 0.141995    
## PopulationMA  -0.06600    0.03817 157.99984  -1.729 0.085761 .  
## PopulationMU  -0.03500    0.03817 157.99984  -0.917 0.360593    
## PopulationRE  -0.15117    0.04123 157.99985  -3.666 0.000336 ***
## PopulationUM  -0.08960    0.03982 157.99985  -2.250 0.025827 *  
## PopulationVA  -0.09367    0.03817 157.99984  -2.454 0.015222 *  
## PopulationYE  -0.21483    0.03817 157.99984  -5.628 8.11e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.655                                                 
## PopulatinKA -0.707  0.463                                          
## PopulatinMA -0.707  0.463  0.500                                   
## PopulatinMU -0.707  0.463  0.500  0.500                            
## PopulatinRE -0.655  0.429  0.463  0.463  0.463                     
## PopulatinUM -0.678  0.444  0.479  0.479  0.479  0.444              
## PopulatinVA -0.707  0.463  0.500  0.500  0.500  0.463  0.479       
## PopulatinYE -0.707  0.463  0.500  0.500  0.500  0.463  0.479  0.500
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular

Schmidt Lab

## quartz_off_screen 
##                 2

anova(Via_lm_Schmidt) #lm()` is used only for Schmidt Lab's viability data, as only one vial per line was phenotyped 
## Analysis of Variance Table
## 
## Response: ProportionEggtoAdultSurvival
##             Df Sum Sq  Mean Sq F value  Pr(>F)  
## Population   8 1.0046 0.125579  2.5425 0.01256 *
## Residuals  153 7.5570 0.049392                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(Via_lm_Schmidt)
## 
## Call:
## lm(formula = ProportionEggtoAdultSurvival ~ Population, data = d_Via[d_Via$Supervisor.PI == 
##     "Schmidt", ])
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.48129 -0.19237  0.02616  0.16173  0.51871 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.625157   0.049695  12.580   <2e-16 ***
## PopulationGI -0.143866   0.075911  -1.895   0.0600 .  
## PopulationKA  0.135186   0.070280   1.924   0.0563 .  
## PopulationMA  0.007477   0.072206   0.104   0.9177    
## PopulationMU -0.052544   0.070280  -0.748   0.4558    
## PopulationRE  0.004666   0.075911   0.061   0.9511    
## PopulationUM  0.085505   0.077444   1.104   0.2713    
## PopulationVA -0.041436   0.070280  -0.590   0.5563    
## PopulationYE -0.087422   0.070280  -1.244   0.2154    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2222 on 153 degrees of freedom
## Multiple R-squared:  0.1173, Adjusted R-squared:  0.07119 
## F-statistic: 2.542 on 8 and 153 DF,  p-value: 0.01256

Stamenkovic-Radak Lab

anova(Via_lmer_StamenkovicRadak)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 0.39276 0.049095     8 155.26  5.0862 1.243e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(Via_lmer_StamenkovicRadak)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ProportionEggtoAdultSurvival ~ Population + (1 | Line:Population) +  
##     (1 | Batch)
##    Data: d_Via[d_Via$Supervisor.PI == "StamenkovicRadak", ]
## 
## REML criterion at convergence: -589.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.6754 -0.5185  0.0052  0.5759  2.2517 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.013176 0.11479 
##  Batch           (Intercept) 0.001207 0.03475 
##  Residual                    0.009652 0.09825 
## Number of obs: 501, groups:  Line:Population, 167; Batch, 4
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)    0.67693    0.03355  21.98005  20.176 1.13e-15 ***
## PopulationGI  -0.07436    0.04570 155.38082  -1.627  0.10573    
## PopulationKA  -0.02793    0.04054 155.23842  -0.689  0.49191    
## PopulationMA  -0.12034    0.04051 155.10198  -2.971  0.00344 ** 
## PopulationMU   0.02403    0.04051 155.08224   0.593  0.55386    
## PopulationRE  -0.05090    0.04302 155.34042  -1.183  0.23859    
## PopulationUM  -0.08775    0.04168 155.34524  -2.106  0.03685 *  
## PopulationVA  -0.11615    0.04051 155.10172  -2.867  0.00472 ** 
## PopulationYE  -0.18226    0.04054 155.23842  -4.496 1.35e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.535                                                 
## PopulatinKA -0.606  0.443                                          
## PopulatinMA -0.603  0.441  0.499                                   
## PopulatinMU -0.605  0.442  0.500  0.500                            
## PopulatinRE -0.571  0.415  0.472  0.471  0.472                     
## PopulatinUM -0.590  0.429  0.488  0.486  0.487  0.460              
## PopulatinVA -0.604  0.445  0.500  0.499  0.500  0.470  0.485       
## PopulatinYE -0.606  0.443  0.501  0.499  0.500  0.472  0.488  0.500

Zwaan Lab

anova(Via_lmer_Zwaan)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 1.1594 0.14492     8 151.78  6.6463 1.944e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(Via_lmer_Zwaan)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ProportionEggtoAdultSurvival ~ Population + (1 | Line:Population) +  
##     (1 | Batch)
##    Data: d_Via[d_Via$Supervisor.PI == "Zwaan", ]
## 
## REML criterion at convergence: -328.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8665 -0.4405  0.1045  0.5674  2.7223 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.01052  0.1025  
##  Batch           (Intercept) 0.00000  0.0000  
##  Residual                    0.02180  0.1477  
## Number of obs: 524, groups:  Line:Population, 169; Batch, 2
## 
## Fixed effects:
##                Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)    0.753292   0.029612 148.129254  25.439  < 2e-16 ***
## PopulationGI  -0.109677   0.045264 147.538931  -2.423   0.0166 *  
## PopulationKA   0.006964   0.042022 149.533027   0.166   0.8686    
## PopulationMA  -0.039616   0.042055 150.208886  -0.942   0.3477    
## PopulationMU  -0.045938   0.042393 153.358912  -1.084   0.2802    
## PopulationRE  -0.107348   0.044247 145.966515  -2.426   0.0165 *  
## PopulationUM   0.025615   0.043113 148.966551   0.594   0.5533    
## PopulationVA  -0.020760   0.042344 153.060112  -0.490   0.6247    
## PopulationYE  -0.226033   0.042298 153.374414  -5.344 3.24e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.654                                                 
## PopulatinKA -0.705  0.461                                          
## PopulatinMA -0.704  0.461  0.496                                   
## PopulatinMU -0.698  0.457  0.492  0.492                            
## PopulatinRE -0.669  0.438  0.472  0.471  0.467                     
## PopulatinUM -0.687  0.449  0.484  0.484  0.480  0.460              
## PopulatinVA -0.699  0.457  0.493  0.492  0.488  0.468  0.480       
## PopulatinYE -0.700  0.458  0.493  0.493  0.489  0.469  0.481  0.490
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular

Lab correlations

d_Via_popmeans <- d_Via %>% group_by(Supervisor.PI, Population) %>% 
        summarise_at(vars(ProportionEggtoAdultSurvival), list(Mean = mean))
write.csv(d_Via_popmeans,file = "Viability/d_Via_popmeans.csv", row.names = T )

There are 3 populations and 29 isofemale lines that have been phenotyped across the labs. Please refer to tables named intersect_Trait_level (i.e. intersect_Via_pop) for details.

#### FIX PARTIAL DATA 

d_Via_popmeans <- d_Via %>% group_by(Supervisor.PI, Population) %>% 
        summarise_at(vars(ProportionEggtoAdultSurvival), list(Mean = mean))
write.csv(d_Via_popmeans,file = "Viability/d_Via_popmeans.csv", row.names = T )

d_Via_pop_GibGra <- cor(d_Via_popmeans$Population[d_Via_popmeans$Population == "AK", "MU", "RE"],
                        d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Gibert"],
                           d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Grath" ])
d_Via_pop_GibHoe <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Gibert"], 
                        d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Hoedjes"])
d_Via_pop_GibSch <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Gibert"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Schmidt"])
d_Via_pop_GibStR <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Gibert"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "StamenkovicRadak"])
d_Via_pop_GibZwa <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Gibert"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Zwaan"])
d_Via_pop_GraHoe <- cor(d_Via_popmeans$Population[d_Via_popmeans$Population == "AK", "MU", "RE"],
                        d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Grath"], 
                           d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Hoedjes"])
d_Via_pop_GraSch <- cor(d_Via_popmeans$Population[d_Via_popmeans$Population == "AK", "MU", "RE"],
                        d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Grath"], 
                           d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Schmidt"])
d_Via_pop_GraStR <- cor(d_Via_popmeans$Population[d_Via_popmeans$Population == "AK", "MU", "RE"],
                        d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Grath"], 
                           d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "StamenkovicRadak"])
d_Via_pop_GraZwa <- cor(d_Via_popmeans$Population[d_Via_popmeans$Population == "AK", "MU", "RE"],
                        d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Grath"], 
                           d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Zwaan"])
d_Via_pop_HoeSch <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Hoedjes"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Schmidt"])
d_Via_pop_HoeStR <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Hoedjes"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "StamenkovicRadak"])
d_Via_pop_HoeZwa <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Hoedjes"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Zwaan"])
d_Via_pop_SchStR <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Schmidt"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "StamenkovicRadak"])
d_Via_pop_SchZwa <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Schmidt"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Zwaan"])
d_Via_pop_StRZwa <- cor(d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "StamenkovicRadak"], 
                                            d_Via_popmeans$Mean[d_Via_popmeans$Supervisor.PI == "Zwaan"])



cor_Via_pop <- list(d_Via_pop_GibGra = d_Via_pop_GibGra, 
        d_Via_pop_GibHoe = d_Via_pop_GibHoe,
        d_Via_pop_GibSch = d_Via_pop_GibSch,
        d_Via_pop_GibStR = d_Via_pop_GibStR, 
        d_Via_pop_GibZwa = d_Via_pop_GibZwa,
        d_Via_pop_GraHoe = d_Via_pop_GraHoe,
        d_Via_pop_GraSch = d_Via_pop_GraSch, 
        d_Via_pop_GraStR = d_Via_pop_GraStR,
        d_Via_pop_GraZwa = d_Via_pop_GraZwa,
        d_Via_pop_HoeSch = d_Via_pop_HoeSch,
        d_Via_pop_HoeStR = d_Via_pop_HoeStR,
        d_Via_pop_HoeZwa = d_Via_pop_HoeZwa,
        d_Via_pop_SchStR = d_Via_pop_SchStR,
        d_Via_pop_SchZwa = d_Via_pop_SchZwa,
        d_Via_pop_StRZwa = d_Via_pop_StRZwa)

write.csv(cor_Via_pop,file = "Viability/cor_Via_pop.csv", row.names = T)

Developmental time

Egg-to-pupa developmental time

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Schmidt Lab : Paul Schmidt

Data Reformatting

Reading data in R

d_DT_P <- read.csv("MasterSheets_Oct21_git/DTP_MasterSheet_Oct21.csv")
str(d_DT_P) #Factors need reformatting 
## 'data.frame':    3391 obs. of  13 variables:
##  $ Supervisor.PI   : chr  "Schmidt" "Schmidt" "Schmidt" "Schmidt" ...
##  $ Diet            : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch           : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "VA" "VA" "VA" "VA" ...
##  $ Line            : chr  "VA35" "VA35" "VA35" "VA35" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DT_EggPupa      : int  120 120 120 120 136 136 136 136 136 136 ...
##  $ Country         : chr  "Russia" "Russia" "Russia" "Russia" ...
##  $ Latitude        : num  58 58 58 58 58 ...
##  $ Longitude       : num  33.2 33.2 33.2 33.2 33.2 ...
##  $ Altitude        : int  217 217 217 217 217 217 217 217 217 217 ...
d_DT_P$Supervisor.PI <- as.factor(d_DT_P$Supervisor.PI)
d_DT_P$Diet <- as.factor(d_DT_P$Diet)
d_DT_P$Batch <- as.factor(d_DT_P$Batch)
d_DT_P$Population_Lat <- factor(d_DT_P$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_DT_P$Population_Lon <- factor(d_DT_P$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_DT_P$Population_Alt <- factor(d_DT_P$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_DT_P$Line <- as.factor(d_DT_P$Line)
d_DT_P$ReplicateVial <- as.factor(d_DT_P$ReplicateVial)
d_DT_P$DT_EggPupa <- as.numeric(d_DT_P$DT_EggPupa)
str(d_DT_P) #They should be ok now. 
## 'data.frame':    3391 obs. of  16 variables:
##  $ Supervisor.PI   : Factor w/ 1 level "Schmidt": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet            : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch           : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "VA" "VA" "VA" "VA" ...
##  $ Line            : Factor w/ 161 levels "AK1","AK10","AK11",..: 131 131 131 131 131 131 131 131 131 131 ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : Factor w/ 161 levels "Schmidt_1_AK1_1",..: 131 131 131 131 131 131 131 131 131 131 ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DT_EggPupa      : num  120 120 120 120 136 136 136 136 136 136 ...
##  $ Country         : chr  "Russia" "Russia" "Russia" "Russia" ...
##  $ Latitude        : num  58 58 58 58 58 ...
##  $ Longitude       : num  33.2 33.2 33.2 33.2 33.2 ...
##  $ Altitude        : int  217 217 217 217 217 217 217 217 217 217 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 8 8 8 8 8 8 8 8 8 8 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 6 6 6 6 6 6 6 6 6 6 ...

Descriptive Statistics

#Note that the trait has been phenotyped only in Schmidt lab and in one batch.

Descriptive statistics at the line level :

Descriptive statistics at the population level:

Plots and Linear Models by Lab

min_d_DT_P
## [1] 96
max_d_DT_P
## [1] 192

y-axis is scaled by the minimum (96) and maximum (192) values in the full data set.

Schmidt Lab
pdf(file="DevelopmentTime/p_DT_P_Schmidt.pdf",width=8, height=5)
p_DT_P_Schmidt <- ggplot(data = (subset(d_DT_P,Supervisor.PI=='Schmidt')), aes(x=Population_Lat, y=DT_EggPupa, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_P_Schmidt", x="Population", y = "DT_EggPupa") 
dev.off()
## quartz_off_screen 
##                 2
p_DT_P_Schmidt + coord_cartesian(ylim = c(min_d_DT_P, max_d_DT_P))+ droseu_theme

invisible(dev.off())
DT_P_lmer <- lmer(DT_EggPupa ~ Population + (1|Population:Line), data = d_DT_P)
capture.output(summary(DT_P_lmer),file = "DevelopmentTime/DT_P_lmer_sum.txt")
capture.output(anova(DT_P_lmer),file = "DevelopmentTime/DT_P_F_lmer.txt")
capture.output(emmeans(DT_P_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_P_tk.txt")
anova(DT_P_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Population 2515.1  314.38     8 147.95  2.6412 0.009804 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_P_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggPupa ~ Population + (1 | Population:Line)
##    Data: d_DT_P
## 
## REML criterion at convergence: 26303.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9734 -0.6092 -0.0831  0.3912  4.7796 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Population:Line (Intercept) 158.4    12.59   
##  Residual                    119.0    10.91   
## Number of obs: 3391, groups:  Population:Line, 161
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  127.5020     2.8668 143.5783  44.475  < 2e-16 ***
## PopulationGI  12.9203     4.7140 157.7547   2.741  0.00684 ** 
## PopulationKA  -0.2098     4.0656 144.7480  -0.052  0.95892    
## PopulationMA   4.5016     4.1179 144.9709   1.093  0.27613    
## PopulationMU   2.2279     4.0527 143.3696   0.550  0.58337    
## PopulationRE   7.7677     4.4068 146.8919   1.763  0.08004 .  
## PopulationUM   3.6588     4.3705 142.4818   0.837  0.40391    
## PopulationVA  13.2633     4.1248 145.8807   3.215  0.00160 ** 
## PopulationYE   7.6982     4.0711 145.8355   1.891  0.06062 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.608                                                 
## PopulatinKA -0.705  0.429                                          
## PopulatinMA -0.696  0.423  0.491                                   
## PopulatinMU -0.707  0.430  0.499  0.492                            
## PopulatinRE -0.651  0.396  0.459  0.453  0.460                     
## PopulatinUM -0.656  0.399  0.463  0.457  0.464  0.427              
## PopulatinVA -0.695  0.423  0.490  0.484  0.492  0.452  0.456       
## PopulatinYE -0.704  0.428  0.497  0.490  0.498  0.458  0.462  0.489

Egg-to-adult developmental time

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Gibert Lab : Cristina Vieira, Laurence Mouton, Natacha Kremer, Sonia Martinez, Patricia Gibert

Grath Lab : Ingo Müller, Sonja Grath

Hoedjes Lab : Hristina Kostic, Katja Hoedjes

Schmidt Lab : Ozan Kiratli, Yonatan Babore, Liam Forsythe, Paul Schmidt

Stamenkovic-Radak Lab : Marija Savic Veselinovic, Marija Tanaskovic, Aleksandra Patenkovic, Mihailo Jelic, Katarina Eric, Pavle Eric, Slobodan Davidovic, Marina Stamenkovic-Radak

Zwaan Lab : Joost van den Heuvel, Bas Zwaan

Data Reformatting

d_DT_A <- read.csv("MasterSheets_Oct21_git/DTA_MasterSheet_Oct21.csv")
str(d_DT_A) #Factors need reformatting 
## 'data.frame':    57609 obs. of  14 variables:
##  $ Supervisor.PI   : chr  "Gibert" "Gibert" "Gibert" "Gibert" ...
##  $ Diet            : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch           : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex             : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Gibert_1_AK1_1" "Gibert_1_AK1_1" "Gibert_1_AK1_1" "Gibert_1_AK1_1" ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DT_EggAdult     : num  202 202 202 202 202 202 202 202 202 202 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
d_DT_A$Supervisor.PI <- as.factor(d_DT_A$Supervisor.PI)
d_DT_A$Diet <- as.factor(d_DT_A$Diet)
d_DT_A$Batch <- as.factor(d_DT_A$Batch)
d_DT_A$Population_Lat <- factor(d_DT_A$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_DT_A$Population_Lon <- factor(d_DT_A$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_DT_A$Population_Alt <- factor(d_DT_A$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_DT_A$Line <- as.factor(d_DT_A$Line)
d_DT_A$Sex <- as.factor(d_DT_A$Sex)
d_DT_A$ReplicateVial <- as.factor(d_DT_A$ReplicateVial)
d_DT_A$DT_EggAdult <- as.numeric(d_DT_A$DT_EggAdult)
str(d_DT_A) #They should be ok now. 
## 'data.frame':    57609 obs. of  17 variables:
##  $ Supervisor.PI   : Factor w/ 6 levels "Gibert","Grath",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet            : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch           : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : Factor w/ 171 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex             : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : Factor w/ 2300 levels "Gibert_1_AK1_1",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DT_EggAdult     : num  202 202 202 202 202 202 202 202 202 202 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
#Create data sheets for females (d_DT_A_F) and males (d_DT_A_M), by sorting at sex level.
d_DT_A_F <-subset(d_DT_A,Sex=='F')
d_DT_A_M <-subset(d_DT_A,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

Gibert Lab
pdf(file="DevelopmentTime/p_DT_A_F_Gibert.pdf",width=8, height=5)
p_DT_A_F_Gibert <- ggplot(data = (subset(d_DT_A_F,Supervisor.PI=='Gibert')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_F_Gibert", x="Population", y = "DT_EggAdult")
p_DT_A_F_Gibert + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_F_lmer_Gibert <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_F[d_DT_A_F$Supervisor.PI == "Gibert",])
capture.output(summary(DT_A_F_lmer_Gibert),file = "DevelopmentTime/DT_A_F_lmer_Gibert_sum.txt")
capture.output(anova(DT_A_F_lmer_Gibert),file = "DevelopmentTime/DT_A_F_lmer_Gibert.txt")
capture.output(emmeans(DT_A_F_lmer_Gibert, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_F_lmer_Gibert_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 6817' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 6817)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 6817' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 6817)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_F_lmer_Gibert)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 2839.4  354.93     8 157.74  3.7809 0.0004399 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_F_lmer_Gibert)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_F[d_DT_A_F$Supervisor.PI == "Gibert", ]
## 
## REML criterion at convergence: 50925
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.4211 -0.5914 -0.1334  0.4381  5.9468 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)  4.727   2.174   
##  Line:Population    (Intercept) 36.110   6.009   
##  Batch              (Intercept)  1.175   1.084   
##  Residual                       93.874   9.689   
## Number of obs: 6817, groups:  
## ReplicateVial:Line, 531; Line:Population, 169; Batch, 3
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  222.3797     1.5710  19.3362 141.556   <2e-16 ***
## PopulationGI   4.3367     2.1688 156.6501   2.000   0.0473 *  
## PopulationKA   0.9782     2.0009 154.4950   0.489   0.6256    
## PopulationMA  -0.2899     2.0046 155.4376  -0.145   0.8852    
## PopulationMU   1.3078     2.0003 154.3141   0.654   0.5142    
## PopulationRE   5.4719     2.1366 158.5080   2.561   0.0114 *  
## PopulationUM   3.1059     2.0547 154.2259   1.512   0.1327    
## PopulationVA   1.5098     2.0056 155.9084   0.753   0.4527    
## PopulationYE  -4.5778     2.0223 160.6684  -2.264   0.0249 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.572                                                 
## PopulatinKA -0.620  0.461                                          
## PopulatinMA -0.619  0.460  0.500                                   
## PopulatinMU -0.621  0.461  0.501  0.500                            
## PopulatinRE -0.581  0.433  0.469  0.467  0.469                     
## PopulatinUM -0.604  0.449  0.488  0.487  0.488  0.456              
## PopulatinVA -0.619  0.460  0.500  0.499  0.500  0.467  0.487       
## PopulatinYE -0.614  0.456  0.496  0.495  0.496  0.463  0.483  0.494
pdf(file="DevelopmentTime/p_DT_A_M_Gibert.pdf",width=8, height=5)
p_DT_A_M_Gibert <- ggplot(data = (subset(d_DT_A_M,Supervisor.PI=='Gibert')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_M_Gibert", x="Population", y = "DT_EggAdult")
p_DT_A_M_Gibert + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_M_lmer_Gibert <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "Gibert",])
capture.output(summary(DT_A_M_lmer_Gibert),file = "DevelopmentTime/DT_A_M_lmer_Gibert_sum.txt")
capture.output(anova(DT_A_M_lmer_Gibert),file = "DevelopmentTime/DT_A_M_lmer_Gibert.txt")
capture.output(emmeans(DT_A_M_lmer_Gibert, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_M_lmer_Gibert_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 6566' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 6566)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 6566' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 6566)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_M_lmer_Gibert)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Population 2526.4   315.8     8 155.05  2.9617 0.004119 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_M_lmer_Gibert)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_M[d_DT_A_M$Supervisor.PI == "Gibert", ]
## 
## REML criterion at convergence: 49809.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.4032 -0.6057 -0.1597  0.4187  5.0802 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)   3.6928  1.9217 
##  Line:Population    (Intercept)  31.0297  5.5704 
##  Batch              (Intercept)   0.6211  0.7881 
##  Residual                       106.6292 10.3261 
## Number of obs: 6566, groups:  
## ReplicateVial:Line, 533; Line:Population, 169; Batch, 3
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  226.5155     1.4120  30.2571 160.427  < 2e-16 ***
## PopulationGI   5.3606     2.0277 153.6251   2.644  0.00905 ** 
## PopulationKA   0.7077     1.8726 152.1759   0.378  0.70601    
## PopulationMA  -1.2153     1.8789 154.0130  -0.647  0.51870    
## PopulationMU   1.2857     1.8708 151.6666   0.687  0.49300    
## PopulationRE   2.0681     1.9870 152.3834   1.041  0.29961    
## PopulationUM   3.2574     1.9227 151.8288   1.694  0.09227 .  
## PopulationVA   1.8677     1.8759 153.1712   0.996  0.32100    
## PopulationYE  -2.9951     1.8932 158.5817  -1.582  0.11564    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.600                                                 
## PopulatinKA -0.650  0.460                                          
## PopulatinMA -0.648  0.458  0.497                                   
## PopulatinMU -0.650  0.460  0.499  0.498                            
## PopulatinRE -0.612  0.434  0.469  0.468  0.470                     
## PopulatinUM -0.633  0.448  0.486  0.484  0.486  0.457              
## PopulatinVA -0.649  0.459  0.498  0.496  0.498  0.469  0.485       
## PopulatinYE -0.643  0.455  0.493  0.492  0.494  0.464  0.480  0.492
Grath Lab
pdf(file="DevelopmentTime/p_DT_A_F_Grath.pdf",width=8, height=5)
p_DT_A_F_Grath <- ggplot(data = (subset(d_DT_A_F,Supervisor.PI=='Grath')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_F_Grath", x="Population", y = "DT_EggAdult")
p_DT_A_F_Grath + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_F_lmer_Grath <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|ReplicateVial : Line), data = d_DT_A_F[d_DT_A_F$Supervisor.PI == "Grath",])
## boundary (singular) fit: see ?isSingular
capture.output(summary(DT_A_F_lmer_Grath),file = "DevelopmentTime/DT_A_F_lmer_Grath_sum.txt")
capture.output(anova(DT_A_F_lmer_Grath),file = "DevelopmentTime/DT_A_F_lmer_Grath.txt")
capture.output(emmeans(DT_A_F_lmer_Grath, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_F_lmer_Grath_tk.txt")
anova(DT_A_F_lmer_Grath)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value Pr(>F)
## Population  438.5  219.25     2 82.946  1.3113  0.275
summary(DT_A_F_lmer_Grath)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## DT_EggAdult ~ Population + (1 | Line:Population) + (1 | ReplicateVial:Line)
##    Data: d_DT_A_F[d_DT_A_F$Supervisor.PI == "Grath", ]
## 
## REML criterion at convergence: 7270.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.3008 -0.6157 -0.0902  0.5802  4.6430 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept) 178.3    13.35   
##  Line:Population    (Intercept)   0.0     0.00   
##  Residual                       167.2    12.93   
## Number of obs: 890, groups:  ReplicateVial:Line, 86; Line:Population, 23
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   308.889      2.309  79.482 133.763   <2e-16 ***
## PopulationMU   -2.823      3.225  81.273  -0.875    0.384    
## PopulationRE    5.399      5.290  83.961   1.021    0.310    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltMU
## PopulatinMU -0.716       
## PopulatinRE -0.437  0.313
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
pdf(file="DevelopmentTime/p_DT_A_M_Grath.pdf",width=8, height=5)
p_DT_A_M_Grath <- ggplot(data = (subset(d_DT_A_M,Supervisor.PI=='Grath')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_M_Grath", x="Population", y = "DT_EggAdult")
p_DT_A_M_Grath + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_M_lmer_Grath <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|ReplicateVial : Line), data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "Grath",])
## boundary (singular) fit: see ?isSingular
capture.output(summary(DT_A_M_lmer_Grath),file = "DevelopmentTime/DT_A_M_lmer_Grath_sum.txt")
capture.output(anova(DT_A_M_lmer_Grath),file = "DevelopmentTime/DT_A_M_lmer_Grath.txt")
capture.output(emmeans(DT_A_M_lmer_Grath, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_M_lmer_Grath_tk.txt")
anova(DT_A_M_lmer_Grath)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value Pr(>F)
## Population 335.31  167.66     2 80.467  0.9406 0.3946
summary(DT_A_M_lmer_Grath)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## DT_EggAdult ~ Population + (1 | Line:Population) + (1 | ReplicateVial:Line)
##    Data: d_DT_A_M[d_DT_A_M$Supervisor.PI == "Grath", ]
## 
## REML criterion at convergence: 7245.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.5785 -0.6958  0.0232  0.5468  3.5585 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept) 167.7    12.95   
##  Line:Population    (Intercept)   0.0     0.00   
##  Residual                       178.2    13.35   
## Number of obs: 881, groups:  ReplicateVial:Line, 86; Line:Population, 23
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   317.589      2.258  79.668 140.654   <2e-16 ***
## PopulationMU   -4.292      3.152  81.107  -1.362    0.177    
## PopulationRE   -1.414      5.107  79.678  -0.277    0.783    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltMU
## PopulatinMU -0.716       
## PopulatinRE -0.442  0.317
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
Hoedjes Lab
pdf(file="DevelopmentTime/p_DT_A_F_Hoedjes.pdf",width=8, height=5)
p_DT_A_F_Hoedjes <- ggplot(data = (subset(d_DT_A_F,Supervisor.PI=='Hoedjes')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_F_Hoedjes", x="Population", y = "DT_EggAdult")
p_DT_A_F_Hoedjes + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_F_lmer_Hoedjes <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_F[d_DT_A_F$Supervisor.PI == "Hoedjes",])
capture.output(summary(DT_A_F_lmer_Hoedjes),file = "DevelopmentTime/DT_A_F_lmer_Hoedjes_sum.txt")
capture.output(anova(DT_A_F_lmer_Hoedjes),file = "DevelopmentTime/DT_A_F_lmer_Hoedjes.txt")
capture.output(emmeans(DT_A_F_lmer_Hoedjes, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_F_lmer_Hoedjes_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 6939' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 6939)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 6939' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 6939)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_F_lmer_Hoedjes)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population   6899  862.38     8 155.01  5.6745 2.514e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_F_lmer_Hoedjes)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_F[d_DT_A_F$Supervisor.PI == "Hoedjes", ]
## 
## REML criterion at convergence: 54971.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7059 -0.5552 -0.1930  0.3779 12.7479 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)   4.685   2.164  
##  Line:Population    (Intercept)  21.642   4.652  
##  Batch              (Intercept)   1.381   1.175  
##  Residual                       151.975  12.328  
## Number of obs: 6939, groups:  
## ReplicateVial:Line, 501; Line:Population, 167; Batch, 4
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  231.2781     1.2896  30.0406 179.348  < 2e-16 ***
## PopulationGI   6.6655     1.7839 155.6038   3.737 0.000261 ***
## PopulationKA  -0.1798     1.6299 148.2949  -0.110 0.912318    
## PopulationMA   1.9330     1.6342 149.8397   1.183 0.238743    
## PopulationMU  -1.7771     1.6284 147.7808  -1.091 0.276922    
## PopulationRE   6.4500     1.7845 154.0927   3.614 0.000407 ***
## PopulationUM   0.9172     1.7105 151.0393   0.536 0.592592    
## PopulationVA  -1.3977     1.6366 150.5099  -0.854 0.394424    
## PopulationYE   1.8985     1.6491 154.8806   1.151 0.251422    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.573                                                 
## PopulatinKA -0.627  0.453                                          
## PopulatinMA -0.625  0.452  0.495                                   
## PopulatinMU -0.628  0.454  0.497  0.495                            
## PopulatinRE -0.573  0.420  0.453  0.452  0.454                     
## PopulatinUM -0.597  0.435  0.473  0.471  0.473  0.439              
## PopulatinVA -0.624  0.451  0.494  0.493  0.494  0.451  0.471       
## PopulatinYE -0.620  0.448  0.490  0.489  0.491  0.448  0.467  0.488
pdf(file="DevelopmentTime/p_DT_A_M_Hoedjes.pdf",width=8, height=5)
p_DT_A_M_Hoedjes <- ggplot(data = (subset(d_DT_A_M,Supervisor.PI=='Hoedjes')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_M_Hoedjes", x="Population", y = "DT_EggAdult")
p_DT_A_M_Hoedjes + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_M_lmer_Hoedjes <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "Hoedjes",])
capture.output(summary(DT_A_M_lmer_Hoedjes),file = "DevelopmentTime/DT_A_M_lmer_Hoedjes_sum.txt")
capture.output(anova(DT_A_M_lmer_Hoedjes),file = "DevelopmentTime/DT_A_M_lmer_Hoedjes.txt")
capture.output(emmeans(DT_A_M_lmer_Hoedjes, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_M_lmer_Hoedjes_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 6649' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 6649)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 6649' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 6649)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_M_lmer_Hoedjes)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 9369.8  1171.2     8 153.78  5.7073 2.332e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_M_lmer_Hoedjes)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_M[d_DT_A_M$Supervisor.PI == "Hoedjes", ]
## 
## REML criterion at convergence: 54596.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -6.8700 -0.5946 -0.0822  0.3611 10.9394 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)   3.107   1.763  
##  Line:Population    (Intercept)  24.219   4.921  
##  Batch              (Intercept)   2.565   1.602  
##  Residual                       205.215  14.325  
## Number of obs: 6649, groups:  
## ReplicateVial:Line, 501; Line:Population, 167; Batch, 4
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  238.6853     1.4661  19.7755 162.803  < 2e-16 ***
## PopulationGI   5.9614     1.8999 154.5025   3.138  0.00204 ** 
## PopulationKA  -2.5325     1.7402 149.2985  -1.455  0.14768    
## PopulationMA   0.6822     1.7356 147.7901   0.393  0.69486    
## PopulationMU  -2.1539     1.7370 148.2171  -1.240  0.21695    
## PopulationRE   5.7531     1.9095 155.4192   3.013  0.00302 ** 
## PopulationUM  -0.9229     1.8237 150.9070  -0.506  0.61354    
## PopulationVA  -2.8591     1.7426 149.9496  -1.641  0.10294    
## PopulationYE   0.5190     1.7673 157.2861   0.294  0.76941    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.542                                                 
## PopulatinKA -0.591  0.456                                          
## PopulatinMA -0.593  0.458  0.499                                   
## PopulatinMU -0.592  0.457  0.499  0.500                            
## PopulatinRE -0.539  0.423  0.454  0.455  0.455                     
## PopulatinUM -0.564  0.439  0.475  0.477  0.476  0.442              
## PopulatinVA -0.590  0.456  0.497  0.499  0.498  0.454  0.475       
## PopulatinYE -0.582  0.449  0.490  0.492  0.491  0.446  0.468  0.490
Schmidt Lab
pdf(file="DevelopmentTime/p_DT_A_F_Schmidt.pdf",width=8, height=5)
p_DT_A_F_Schmidt <- ggplot(data = (subset(d_DT_A_F,Supervisor.PI=='Schmidt')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_F_Schmidt", x="Population", y = "DT_EggAdult")
p_DT_A_F_Schmidt + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_F_lmer_Schmidt <- lmer(DT_EggAdult ~ Population + (1|Line:Population), data = d_DT_A_F[d_DT_A_F$Supervisor.PI == "Schmidt",])
capture.output(summary(DT_A_F_lmer_Schmidt),file = "DevelopmentTime/DT_A_F_lmer_Schmidt_sum.txt")
capture.output(anova(DT_A_F_lmer_Schmidt),file = "DevelopmentTime/DT_A_F_lmer_Schmidt.txt")
capture.output(emmeans(DT_A_F_lmer_Schmidt, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_F_lmer_Schmidt_tk.txt")
anova(DT_A_F_lmer_Schmidt)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Population   5630  703.75     8 145.04  3.2466 0.001981 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_F_lmer_Schmidt)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population)
##    Data: d_DT_A_F[d_DT_A_F$Supervisor.PI == "Schmidt", ]
## 
## REML criterion at convergence: 14067.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5685 -0.4672 -0.0841  0.3244  9.1996 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 382.1    19.55   
##  Residual                    216.8    14.72   
## Number of obs: 1664, groups:  Line:Population, 159
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   218.139      4.503 141.010  48.438  < 2e-16 ***
## PopulationGI    8.468      7.686 149.902   1.102   0.2724    
## PopulationKA    1.889      6.453 140.874   0.293   0.7702    
## PopulationMA    6.233      6.472 142.375   0.963   0.3371    
## PopulationMU    3.018      6.360 140.236   0.475   0.6358    
## PopulationRE   11.911      6.954 145.726   1.713   0.0889 .  
## PopulationUM    4.043      6.855 139.069   0.590   0.5563    
## PopulationVA   27.489      6.428 145.350   4.276 3.42e-05 ***
## PopulationYE    4.227      6.424 145.516   0.658   0.5116    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.586                                                 
## PopulatinKA -0.698  0.409                                          
## PopulatinMA -0.696  0.408  0.486                                   
## PopulatinMU -0.708  0.415  0.494  0.493                            
## PopulatinRE -0.648  0.379  0.452  0.451  0.459                     
## PopulatinUM -0.657  0.385  0.459  0.457  0.465  0.425              
## PopulatinVA -0.701  0.410  0.489  0.487  0.496  0.454  0.460       
## PopulatinYE -0.701  0.411  0.489  0.488  0.496  0.454  0.461  0.491
pdf(file="DevelopmentTime/p_DT_A_M_Schmidt.pdf",width=8, height=5)
p_DT_A_M_Schmidt <- ggplot(data = (subset(d_DT_A_M,Supervisor.PI=='Schmidt')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_M_Schmidt", x="Population", y = "DT_EggAdult")
p_DT_A_M_Schmidt + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_M_lmer_Schmidt <- lmer(DT_EggAdult ~ Population + (1|Line:Population), data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "Schmidt",])
capture.output(summary(DT_A_M_lmer_Schmidt),file = "DevelopmentTime/DT_A_M_lmer_Schmidt_sum.txt")
capture.output(anova(DT_A_M_lmer_Schmidt),file = "DevelopmentTime/DT_A_M_lmer_Schmidt.txt")
capture.output(emmeans(DT_A_M_lmer_Schmidt, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_M_lmer_Schmidt_tk.txt")
anova(DT_A_M_lmer_Schmidt)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Population 7928.7  991.09     8 141.78   3.337 0.001575 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_M_lmer_Schmidt)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population)
##    Data: d_DT_A_M[d_DT_A_M$Supervisor.PI == "Schmidt", ]
## 
## REML criterion at convergence: 12831.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8636 -0.4961 -0.1229  0.3065  7.0181 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 416.9    20.42   
##  Residual                    297.0    17.23   
## Number of obs: 1464, groups:  Line:Population, 157
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)  226.01305    4.74292 135.96600  47.653  < 2e-16 ***
## PopulationGI  17.10410    8.12581 145.23581   2.105 0.037021 *  
## PopulationKA  -6.09966    6.80201 136.33867  -0.897 0.371436    
## PopulationMA   2.72810    6.84174 138.66550   0.399 0.690695    
## PopulationMU   0.70330    6.79893 136.35220   0.103 0.917763    
## PopulationRE   5.63782    7.36602 143.79829   0.765 0.445298    
## PopulationUM   3.09168    7.23539 135.25026   0.427 0.669840    
## PopulationVA  24.03542    6.84235 139.51268   3.513 0.000598 ***
## PopulationYE  -0.07554    6.79153 142.33291  -0.011 0.991141    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.584                                                 
## PopulatinKA -0.697  0.407                                          
## PopulatinMA -0.693  0.405  0.483                                   
## PopulatinMU -0.698  0.407  0.486  0.484                            
## PopulatinRE -0.644  0.376  0.449  0.446  0.449                     
## PopulatinUM -0.656  0.383  0.457  0.454  0.457  0.422              
## PopulatinVA -0.693  0.405  0.483  0.481  0.484  0.446  0.454       
## PopulatinYE -0.698  0.408  0.487  0.484  0.487  0.450  0.458  0.484
Stamenkovic-Radak Lab
pdf(file="DevelopmentTime/p_DT_A_F_StamenkovicRadak.pdf",width=8, height=5)
p_DT_A_F_StamenkovicRadak <- ggplot(data = (subset(d_DT_A_F,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_F_StamenkovicRadak", x="Population", y = "DT_EggAdult")
p_DT_A_F_StamenkovicRadak + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_F_lmer_StamenkovicRadak <- lmer(DT_EggAdult ~ Population + (1|Line:Population)+ (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_F[d_DT_A_F$Supervisor.PI == "StamenkovicRadak",])
capture.output(summary(DT_A_F_lmer_StamenkovicRadak),file = "DevelopmentTime/DT_A_F_lmer_StamenkovicRadak_sum.txt")
capture.output(anova(DT_A_F_lmer_StamenkovicRadak),file = "DevelopmentTime/DT_A_F_lmer_StamenkovicRadak.txt")
capture.output(emmeans(DT_A_F_lmer_StamenkovicRadak, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_F_lmer_StamenkovicRadak_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 6200' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 6200)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 6200' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 6200)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_F_lmer_StamenkovicRadak)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population  14440    1805     8 153.46  5.9074 1.365e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_F_lmer_StamenkovicRadak)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_F[d_DT_A_F$Supervisor.PI == "StamenkovicRadak", ]
## 
## REML criterion at convergence: 54203.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5991 -0.5815 -0.1328  0.3761  6.5733 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept) 148.74   12.196  
##  Line:Population    (Intercept) 175.07   13.231  
##  Batch              (Intercept)  40.54    6.367  
##  Residual                       305.55   17.480  
## Number of obs: 6200, groups:  
## ReplicateVial:Line, 494; Line:Population, 165; Batch, 4
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)  237.62349    4.73424  10.93403  50.193  2.8e-14 ***
## PopulationGI   7.46572    5.50910 152.34033   1.355 0.177372    
## PopulationKA  -8.47287    4.88982 151.57662  -1.733 0.085173 .  
## PopulationMA   8.62696    4.90527 153.46660   1.759 0.080619 .  
## PopulationMU  -0.06432    4.88517 151.27795  -0.013 0.989512    
## PopulationRE  17.72312    5.18652 152.11258   3.417 0.000812 ***
## PopulationUM  15.29379    5.03496 153.01586   3.038 0.002805 ** 
## PopulationVA  14.15780    4.96021 152.63502   2.854 0.004913 ** 
## PopulationYE   2.45664    4.91461 154.56893   0.500 0.617882    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.469                                                 
## PopulatinKA -0.530  0.454                                          
## PopulatinMA -0.526  0.452  0.510                                   
## PopulatinMU -0.530  0.454  0.513  0.511                            
## PopulatinRE -0.500  0.427  0.484  0.482  0.484                     
## PopulatinUM -0.515  0.440  0.499  0.495  0.498  0.471              
## PopulatinVA -0.521  0.450  0.504  0.504  0.505  0.475  0.489       
## PopulatinYE -0.528  0.452  0.511  0.507  0.510  0.482  0.496  0.502
pdf(file="DevelopmentTime/p_DT_A_M_StamenkovicRadak.pdf",width=8, height=5)
p_DT_A_M_StamenkovicRadak <- ggplot(data = (subset(d_DT_A_M,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_M_StamenkovicRadak", x="Population", y = "DT_EggAdult")
p_DT_A_M_StamenkovicRadak + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_M_lmer_StamenkovicRadak <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "StamenkovicRadak",])
capture.output(summary(DT_A_M_lmer_StamenkovicRadak),file = "DevelopmentTime/DT_A_M_lmer_StamenkovicRadak_sum.txt")
capture.output(anova(DT_A_M_lmer_StamenkovicRadak),file = "DevelopmentTime/DT_A_M_lmer_StamenkovicRadak.txt")
capture.output(emmeans(DT_A_M_lmer_StamenkovicRadak, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_M_lmer_StamenkovicRadak_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 5815' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 5815)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 5815' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 5815)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_M_lmer_StamenkovicRadak)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population  15603  1950.3     8 153.79  5.9197 1.315e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_M_lmer_StamenkovicRadak)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_M[d_DT_A_M$Supervisor.PI == "StamenkovicRadak", ]
## 
## REML criterion at convergence: 51282.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.9954 -0.5866 -0.1542  0.3744  6.6404 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept) 152.27   12.340  
##  Line:Population    (Intercept) 162.25   12.738  
##  Batch              (Intercept)  37.14    6.094  
##  Residual                       329.47   18.151  
## Number of obs: 5815, groups:  
## ReplicateVial:Line, 494; Line:Population, 165; Batch, 4
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   242.718      4.584  11.349  52.952    6e-15 ***
## PopulationGI    9.006      5.388 152.718   1.671 0.096703 .  
## PopulationKA   -7.893      4.781 151.809  -1.651 0.100849    
## PopulationMA    7.749      4.789 152.779   1.618 0.107700    
## PopulationMU    1.406      4.775 151.260   0.294 0.768857    
## PopulationRE   16.917      5.070 152.105   3.337 0.001065 ** 
## PopulationUM   14.365      4.933 154.211   2.912 0.004124 ** 
## PopulationVA   16.666      4.847 152.554   3.438 0.000755 ***
## PopulationYE    3.325      4.805 154.681   0.692 0.490005    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.473                                                 
## PopulatinKA -0.535  0.454                                          
## PopulatinMA -0.532  0.452  0.510                                   
## PopulatinMU -0.535  0.454  0.512  0.512                            
## PopulatinRE -0.505  0.426  0.484  0.482  0.484                     
## PopulatinUM -0.519  0.438  0.497  0.495  0.497  0.470              
## PopulatinVA -0.526  0.449  0.504  0.504  0.505  0.475  0.488       
## PopulatinYE -0.532  0.452  0.510  0.507  0.510  0.481  0.495  0.502
Zwaan Lab
pdf(file="DevelopmentTime/p_DT_A_F_Zwaan.pdf",width=8, height=5)
p_DT_A_F_Zwaan <- ggplot(data = (subset(d_DT_A_F,Supervisor.PI=='Zwaan')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_F_Zwaan", x="Population", y = "DT_EggAdult")
p_DT_A_F_Zwaan + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_F_lmer_Zwaan <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_F[d_DT_A_F$Supervisor.PI == "Zwaan",])
capture.output(summary(DT_A_F_lmer_Zwaan),file = "DevelopmentTime/DT_A_F_lmer_Zwaan_sum.txt")
capture.output(anova(DT_A_F_lmer_Zwaan),file = "DevelopmentTime/DT_A_F_lmer_Zwaan.txt")
capture.output(emmeans(DT_A_F_lmer_Zwaan, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_F_lmer_Zwaan_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 7330' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 7330)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 7330' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 7330)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_F_lmer_Zwaan)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value  Pr(>F)  
## Population 1778.2  222.28     8 161.19  1.9922 0.05051 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_F_lmer_Zwaan)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_F[d_DT_A_F$Supervisor.PI == "Zwaan", ]
## 
## REML criterion at convergence: 55980.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.4229 -0.5259 -0.1848  0.2790  6.6947 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)   8.246   2.872  
##  Line:Population    (Intercept)  25.504   5.050  
##  Batch              (Intercept)   6.708   2.590  
##  Residual                       111.578  10.563  
## Number of obs: 7330, groups:  
## ReplicateVial:Line, 521; Line:Population, 169; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  220.7481     2.2133   2.0039  99.735  9.9e-05 ***
## PopulationGI   4.1186     1.9094 158.6186   2.157  0.03251 *  
## PopulationKA   2.5714     1.7615 157.0943   1.460  0.14634    
## PopulationMA   3.4714     1.7605 157.1010   1.972  0.05038 .  
## PopulationMU   1.3777     1.7767 161.8964   0.775  0.43921    
## PopulationRE   5.5128     1.8672 156.8347   2.952  0.00364 ** 
## PopulationUM   1.6009     1.8048 155.7336   0.887  0.37641    
## PopulationVA   4.2001     1.7671 159.0337   2.377  0.01865 *  
## PopulationYE   0.5322     1.8015 167.9852   0.295  0.76803    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.365                                                 
## PopulatinKA -0.396  0.459                                          
## PopulatinMA -0.396  0.460  0.498                                   
## PopulatinMU -0.393  0.456  0.494  0.494                            
## PopulatinRE -0.374  0.436  0.470  0.471  0.466                     
## PopulatinUM -0.387  0.449  0.486  0.487  0.482  0.459              
## PopulatinVA -0.395  0.458  0.496  0.497  0.492  0.469  0.485       
## PopulatinYE -0.387  0.450  0.487  0.487  0.483  0.460  0.476  0.485
pdf(file="DevelopmentTime/p_DT_A_M_Zwaan.pdf",width=8, height=5)
p_DT_A_M_Zwaan <- ggplot(data = (subset(d_DT_A_M,Supervisor.PI=='Zwaan')), aes(x=Population_Lat, y=DT_EggAdult, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.01) + 
        labs(title="p_DT_A_M_Zwaan", x="Population", y = "DT_EggAdult")
p_DT_A_M_Zwaan + coord_cartesian(ylim = c(150, 400))+ droseu_theme

dev.off()
## pdf 
##   3
DT_A_M_lmer_Zwaan <- lmer(DT_EggAdult ~ Population + (1|Line:Population) + (1|Batch) + (1|ReplicateVial : Line), data = d_DT_A_M[d_DT_A_M$Supervisor.PI == "Zwaan",])
capture.output(summary(DT_A_M_lmer_Zwaan),file = "DevelopmentTime/DT_A_M_lmer_Zwaan_sum.txt")
capture.output(anova(DT_A_M_lmer_Zwaan),file = "DevelopmentTime/DT_A_M_lmer_Zwaan.txt")
capture.output(emmeans(DT_A_M_lmer_Zwaan, list(pairwise ~ Population), adjust = "tukey"),file = "DevelopmentTime/DT_A_M_lmer_Zwaan_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 6394' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 6394)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 6394' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 6394)' or larger];
## but be warned that this may result in large computation time and memory use.
anova(DT_A_M_lmer_Zwaan)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value  Pr(>F)  
## Population 2206.9  275.87     8 160.63  2.2503 0.02641 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(DT_A_M_lmer_Zwaan)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: DT_EggAdult ~ Population + (1 | Line:Population) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: d_DT_A_M[d_DT_A_M$Supervisor.PI == "Zwaan", ]
## 
## REML criterion at convergence: 49447.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9922 -0.5259 -0.1942  0.2460  6.2037 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)   7.491   2.737  
##  Line:Population    (Intercept)  29.635   5.444  
##  Batch              (Intercept)   8.828   2.971  
##  Residual                       122.593  11.072  
## Number of obs: 6394, groups:  
## ReplicateVial:Line, 519; Line:Population, 169; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  225.7358     2.4877   1.8667  90.740 0.000204 ***
## PopulationGI   3.5977     2.0493 159.6267   1.756 0.081085 .  
## PopulationKA   1.2331     1.8806 154.7829   0.656 0.512985    
## PopulationMA   2.0196     1.8879 156.9895   1.070 0.286371    
## PopulationMU  -0.1906     1.8954 159.3747  -0.101 0.920023    
## PopulationRE   4.1796     2.0077 158.3623   2.082 0.038968 *  
## PopulationUM  -0.6705     1.9316 154.5842  -0.347 0.728972    
## PopulationVA   2.0535     1.8936 158.6298   1.084 0.279793    
## PopulationYE  -2.6216     1.9294 168.1729  -1.359 0.176034    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.348                                                 
## PopulatinKA -0.379  0.460                                          
## PopulatinMA -0.378  0.459  0.500                                   
## PopulatinMU -0.376  0.457  0.498  0.496                            
## PopulatinRE -0.355  0.434  0.470  0.469  0.467                     
## PopulatinUM -0.369  0.449  0.488  0.487  0.485  0.458              
## PopulatinVA -0.377  0.457  0.498  0.496  0.494  0.467  0.485       
## PopulatinYE -0.370  0.450  0.489  0.487  0.485  0.459  0.477  0.486

Lab correlations

intersect_DT_A  <- Reduce(intersect, list(d_DT_A$Line[d_DT_A$Supervisor.PI == "Gibert"],
                                          d_DT_A$Line[d_DT_A$Supervisor.PI == "Grath"],
                                          d_DT_A$Line[d_DT_A$Supervisor.PI == "Hoedjes"],
                                          d_DT_A$Line[d_DT_A$Supervisor.PI == "Schmidt"],
                                          d_DT_A$Line[d_DT_A$Supervisor.PI == "StamenkovicRadak"],
                                          d_DT_A$Line[d_DT_A$Supervisor.PI == "Zwaan"]))
length(intersect_DT_A)
## [1] 22
write(intersect_DT_A, file ="DevelopmentTime/DT_int.txt", sep = "\t")

Dry weight

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Colinet Lab : Sapho-Lou Marti , Hervé Colinet

Hoedjes Lab : Hristina Kostic, Katja Hoedjes

Onder Lab : Seda Coskun, Senel Selin Senkal, Dogus Can, Banu Sebnem Onder

Data Reformatting

Read data in R

d_DW <- read.csv("MasterSheets_Oct21_git/DW_MasterSheet_Oct21.csv")
str(d_DW)
## 'data.frame':    24161 obs. of  12 variables:
##  $ Supervisor.PI: chr  "Colinet" "Colinet" "Colinet" "Colinet" ...
##  $ Diet         : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch        : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population   : chr  "AK" "AK" "AK" "AK" ...
##  $ Line         : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex          : chr  "F" "F" "F" "F" ...
##  $ Individual   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DW_micrograms: num  0.394 0.473 0.581 0.594 0.454 0.486 0.581 0.584 0.596 0.573 ...
##  $ Country      : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude     : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude    : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude     : int  88 88 88 88 88 88 88 88 88 88 ...
d_DW$Supervisor.PI <- as.factor(d_DW$Supervisor.PI)
d_DW$Diet <- as.factor(d_DW$Diet)
d_DW$Batch <- as.factor(d_DW$Batch)
d_DW$Population <- as.factor(d_DW$Population)
d_DW$Population_Lat <- factor(d_DW$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_DW$Population_Lon <- factor(d_DW$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_DW$Population_Alt <- factor(d_DW$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_DW$Line <- as.factor(d_DW$Line)
d_DW$Sex <- as.factor(d_DW$Sex)
d_DW$DW_micrograms <- as.numeric(d_DW$DW_micrograms)
str(d_DW)
## 'data.frame':    24161 obs. of  15 variables:
##  $ Supervisor.PI : Factor w/ 3 levels "Colinet","Hoedjes",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet          : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch         : Factor w/ 5 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population    : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Line          : Factor w/ 170 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex           : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Individual    : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ DW_micrograms : num  0.394 0.473 0.581 0.594 0.454 0.486 0.581 0.584 0.596 0.573 ...
##  $ Country       : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude      : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude     : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude      : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat: Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon: Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt: Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_DW_F <-subset(d_DW,Sex=='F')
d_DW_M <-subset(d_DW,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

pdf(file="DryWeight/p_DW_F_all.pdf",width=8, height=5)
p_DW_F_all <- ggplot(data = d_DW_F, aes(x=Population_Lat, y=DW_micrograms, fill=Supervisor.PI)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_F_all", x="Population", y = "DW_micrograms")
p_DW_F_all + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="DryWeight/p_DW_M_all.pdf",width=8, height=5)
p_DW_M_all <- ggplot(data = d_DW_M, aes(x=Population_Lat, y=DW_micrograms, fill=Supervisor.PI)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_M_all", x="Population", y = "DW_micrograms")
p_DW_M_all + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3

Plots and Linear Models by Lab

dw_min <- min(d_DW$DW_micrograms)
dw_max <- max(d_DW$DW_micrograms)

Colinet Lab

pdf(file="DryWeight/p_DW_F_Colinet.pdf",width=8, height=5)
p_DW_F_Colinet <- ggplot(data = (subset(d_DW_F,Supervisor.PI=='Colinet')), aes(x=Population_Lat, y=DW_micrograms, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_F_Colinet", x="Population", y = "DW_micrograms")
p_DW_F_Colinet + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
DW_F_lmer_Colinet <- lmer(DW_micrograms ~ Population + (1|Population:Line) + (1|Batch), data = d_DW_F[d_DW_F$Supervisor.PI == "Colinet",])
capture.output(summary(DW_F_lmer_Colinet),file = "DryWeight/DW_F_lmer_Colinet_sum.txt")
capture.output(anova(DW_F_lmer_Colinet),file = "DryWeight/DW_F_lmer_Colinet.txt")
capture.output(emmeans(DW_F_lmer_Colinet, list(pairwise ~ Population), adjust = "tukey"),file = "DryWeight/DW_F_lmer_Colinet_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3982' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3982)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3982' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3982)' or larger];
## but be warned that this may result in large computation time and memory use.
pdf(file="DryWeight/p_DW_M_Colinet.pdf",width=8, height=5)
p_DW_M_Colinet <- ggplot(data = (subset(d_DW_M,Supervisor.PI=='Colinet')), aes(x=Population_Lat, y=DW_micrograms, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_M_Colinet", x="Population", y = "DW_micrograms")
p_DW_M_Colinet + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
DW_M_lmer_Colinet <- lmer(DW_micrograms ~ Population + (1|Population:Line) + (1|Batch), data = d_DW_M[d_DW_M$Supervisor.PI == "Colinet",])
## boundary (singular) fit: see ?isSingular
capture.output(summary(DW_M_lmer_Colinet),file = "DryWeight/DW_M_lmer_Colinet_sum.txt")
capture.output(anova(DW_M_lmer_Colinet),file = "DryWeight/DW_M_lmer_Colinet.txt")
capture.output(emmeans(DW_M_lmer_Colinet, list(pairwise ~ Population), adjust = "tukey"),file = "DryWeight/DW_M_lmer_Colinet_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3975' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3975)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3975' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3975)' or larger];
## but be warned that this may result in large computation time and memory use.

Hoedjes Lab

pdf(file="DryWeight/p_DW_F_Hoedjes.pdf",width=8, height=5)
p_DW_F_Hoedjes <- ggplot(data = (subset(d_DW_F,Supervisor.PI=='Hoedjes')), aes(x=Population_Lat, y=DW_micrograms, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_F_Hoedjes", x="Population", y = "DW_micrograms")
p_DW_F_Hoedjes + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
DW_F_lmer_Hoedjes <- lmer(DW_micrograms ~ Population + (1|Population:Line) + (1|Batch), data = d_DW_F[d_DW_F$Supervisor.PI == "Hoedjes",])
capture.output(summary(DW_F_lmer_Hoedjes),file = "DryWeight/DW_F_lmer_Hoedjes_sum.txt")
capture.output(anova(DW_F_lmer_Hoedjes),file = "DryWeight/DW_F_lmer_Hoedjes.txt")
capture.output(emmeans(DW_F_lmer_Hoedjes, list(pairwise ~ Population), adjust = "tukey"),file = "DryWeight/DW_F_lmer_Hoedjes_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 4004' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 4004)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 4004' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 4004)' or larger];
## but be warned that this may result in large computation time and memory use.
pdf(file="DryWeight/p_DW_M_Hoedjes.pdf",width=8, height=5)
p_DW_M_Hoedjes <- ggplot(data = (subset(d_DW_M,Supervisor.PI=='Hoedjes')), aes(x=Population_Lat, y=DW_micrograms, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_M_Hoedjes", x="Population", y = "DW_micrograms")
p_DW_M_Hoedjes + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
DW_M_lmer_Hoedjes <- lmer(DW_micrograms ~ Population + (1|Population:Line) + (1|Batch), data = d_DW_M[d_DW_M$Supervisor.PI == "Hoedjes",])
capture.output(summary(DW_M_lmer_Hoedjes),file = "DryWeight/DW_M_lmer_Hoedjes_sum.txt")
capture.output(anova(DW_M_lmer_Hoedjes),file = "DryWeight/DW_M_lmer_Hoedjes.txt")
capture.output(emmeans(DW_M_lmer_Hoedjes, list(pairwise ~ Population), adjust = "tukey"),file = "DryWeight/DW_M_lmer_Hoedjes_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3997' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3997)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3997' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3997)' or larger];
## but be warned that this may result in large computation time and memory use.

Onder Lab

pdf(file="DryWeight/p_DW_F_Onder.pdf",width=8, height=5)
p_DW_F_Onder <- ggplot(data = (subset(d_DW_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=DW_micrograms, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_F_Onder", x="Population", y = "DW_micrograms")
p_DW_F_Onder + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
DW_F_lmer_Onder <- lmer(DW_micrograms ~ Population + (1|Population:Line) + (1|Batch), data = d_DW_F[d_DW_F$Supervisor.PI == "Onder",])
capture.output(summary(DW_F_lmer_Onder),file = "DryWeight/DW_F_lmer_Onder_sum.txt")
capture.output(anova(DW_F_lmer_Onder),file = "DryWeight/DW_F_lmer_Onder.txt")
capture.output(emmeans(DW_F_lmer_Onder, list(pairwise ~ Population), adjust = "tukey"),file = "DryWeight/DW_F_lmer_Onder_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 4102' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 4102)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 4102' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 4102)' or larger];
## but be warned that this may result in large computation time and memory use.
pdf(file="DryWeight/p_DW_M_Onder.pdf",width=8, height=5)
p_DW_M_Onder <- ggplot(data = (subset(d_DW_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=DW_micrograms, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_DW_M_Onder", x="Population", y = "DW_micrograms")
p_DW_M_Onder + coord_cartesian(ylim = c(0.1, 0.8))+ droseu_theme

dev.off()
## pdf 
##   3
DW_M_lmer_Onder <- lmer(DW_micrograms ~ Population + (1|Population:Line) + (1|Batch), data = d_DW_M[d_DW_M$Supervisor.PI == "Onder",])
capture.output(summary(DW_M_lmer_Onder),file = "DryWeight/DW_M_lmer_Onder_sum.txt")
capture.output(anova(DW_M_lmer_Onder),file = "DryWeight/DW_M_lmer_Onder.txt")
capture.output(emmeans(DW_M_lmer_Onder, list(pairwise ~ Population), adjust = "tukey"),file = "DryWeight/DW_M_lmer_Onder_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 4101' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 4101)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 4101' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 4101)' or larger];
## but be warned that this may result in large computation time and memory use.

Lab correlations

d_DW_popmeans <- d_DW %>% group_by(Supervisor.PI, Population, Sex) %>% 
        summarise_at(vars(DW_micrograms), list(Mean = mean))
write.csv(d_DW_popmeans,file = "DryWeight/d_DW_popmeans.csv", row.names = T )

d_DW_pop_ColHoe_F <- cor(d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Colinet" & d_DW_popmeans$Sex == "F"],
                         d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Hoedjes" & d_DW_popmeans$Sex == "F"])
d_DW_pop_ColOnd_F <- cor(d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Colinet" & d_DW_popmeans$Sex == "F"], 
                         d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Onder" & d_DW_popmeans$Sex == "F"])
d_DW_pop_HoeOnd_F <- cor(d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Hoedjes" & d_DW_popmeans$Sex == "F"], 
                         d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Onder" & d_DW_popmeans$Sex == "F"])

cor_DW_pop_F <- list(d_DW_pop_ColHoe_F = d_DW_pop_ColHoe_F, 
                     d_DW_pop_ColOnd_F = d_DW_pop_ColOnd_F,
                     d_DW_pop_HoeOnd_F = d_DW_pop_HoeOnd_F)

write.csv(cor_DW_pop_F,file = "DryWeight/cor_DW_pop_F.csv", row.names = T)

###

d_DW_pop_ColHoe_M <- cor(d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Colinet" & d_DW_popmeans$Sex == "M"],
                         d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Hoedjes" & d_DW_popmeans$Sex == "M"])
d_DW_pop_ColOnd_M <- cor(d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Colinet" & d_DW_popmeans$Sex == "M"], 
                         d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Onder" & d_DW_popmeans$Sex == "M"])
d_DW_pop_HoeOnd_M <- cor(d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Hoedjes" & d_DW_popmeans$Sex == "M"], 
                         d_DW_popmeans$Mean[d_DW_popmeans$Supervisor.PI == "Onder" & d_DW_popmeans$Sex == "M"])

cor_DW_pop_M <- list(d_DW_pop_ColHoe_M = d_DW_pop_ColHoe_M, 
                     d_DW_pop_ColOnd_M = d_DW_pop_ColOnd_M,
                     d_DW_pop_HoeOnd_M = d_DW_pop_HoeOnd_M)

write.csv(cor_DW_pop_M,file = "DryWeight/cor_DW_pop_M.csv", row.names = T)
intersect_DW  <- Reduce(intersect, list(d_DW$Line[d_DW$Supervisor.PI == "Colinet"],
                                        d_DW$Line[d_DW$Supervisor.PI == "Hoedjes"],
                                        d_DW$Line[d_DW$Supervisor.PI == "Onder"]))
length(intersect_DW)
## [1] 161
write(intersect_DW, file ="DryWeight/DW_int.txt", sep = "\t")

Thorax length

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Kozeretska Lab : Svitlana Serga, Alexandra Protsenko, Oleksandr Maistrenko, Iryna Kozeretska

Posnien Lab : Micael Reis, Lennart Hüper

Ritchie Lab : Megan Mcgunnigle, Nicola Cook, Teresa Abaurrea, Michael Ritchie

Schmidt Lab : Amy Goldfischer, Paul Schmidt

Data Reformatting

Read data in R

d_TL <- read.csv("MasterSheets_Oct21_git/TL_MasterSheet_Oct21.csv")
str(d_TL)
## 'data.frame':    13784 obs. of  14 variables:
##  $ Supervisor.PI   : chr  "Schmidt" "Schmidt" "Schmidt" "Schmidt" ...
##  $ Diet            : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch           : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "VA" "VA" "VA" "VA" ...
##  $ Line            : chr  "VA35" "VA35" "VA35" "VA35" ...
##  $ Sex             : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ TL_micrometers  : num  993 964 1021 1025 1051 ...
##  $ Country         : chr  "Russia" "Russia" "Russia" "Russia" ...
##  $ Latitude        : num  58 58 58 58 58 ...
##  $ Longitude       : num  33.2 33.2 33.2 33.2 33.2 ...
##  $ Altitude        : int  217 217 217 217 217 217 217 217 217 217 ...
str(d_TL)
## 'data.frame':    13784 obs. of  14 variables:
##  $ Supervisor.PI   : chr  "Schmidt" "Schmidt" "Schmidt" "Schmidt" ...
##  $ Diet            : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch           : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "VA" "VA" "VA" "VA" ...
##  $ Line            : chr  "VA35" "VA35" "VA35" "VA35" ...
##  $ Sex             : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" "Schmidt_1_VA35_1" ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ TL_micrometers  : num  993 964 1021 1025 1051 ...
##  $ Country         : chr  "Russia" "Russia" "Russia" "Russia" ...
##  $ Latitude        : num  58 58 58 58 58 ...
##  $ Longitude       : num  33.2 33.2 33.2 33.2 33.2 ...
##  $ Altitude        : int  217 217 217 217 217 217 217 217 217 217 ...
d_TL$Supervisor.PI <- as.factor(d_TL$Supervisor.PI)
d_TL$Diet <- as.factor(d_TL$Diet)
d_TL$Batch <- as.factor(d_TL$Batch)
d_TL$Population_Lat <- factor(d_TL$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_TL$Population_Lon <- factor(d_TL$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_TL$Population_Alt <- factor(d_TL$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_TL$Line <- as.factor(d_TL$Line)
d_TL$Sex <- as.factor(d_TL$Sex)
d_TL$ReplicateVial <- as.factor(d_TL$ReplicateVial)
d_TL$TL_micrometers <- as.numeric(d_TL$TL_micrometers)
str(d_TL)
## 'data.frame':    13784 obs. of  17 variables:
##  $ Supervisor.PI   : Factor w/ 4 levels "Kozeretska","Posnien",..: 4 4 4 4 4 4 4 4 4 4 ...
##  $ Diet            : Factor w/ 2 levels "NS","S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch           : Factor w/ 12 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "VA" "VA" "VA" "VA" ...
##  $ Line            : Factor w/ 166 levels "AK1","AK10","AK11",..: 135 135 135 135 135 135 135 135 135 135 ...
##  $ Sex             : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : Factor w/ 503 levels "Kozeretska_1_AK1_1",..: 474 474 474 474 474 474 474 474 474 474 ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ TL_micrometers  : num  993 964 1021 1025 1051 ...
##  $ Country         : chr  "Russia" "Russia" "Russia" "Russia" ...
##  $ Latitude        : num  58 58 58 58 58 ...
##  $ Longitude       : num  33.2 33.2 33.2 33.2 33.2 ...
##  $ Altitude        : int  217 217 217 217 217 217 217 217 217 217 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 8 8 8 8 8 8 8 8 8 8 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 6 6 6 6 6 6 6 6 6 6 ...
d_TL_F <-subset(d_TL,Sex=='F')
d_TL_M <-subset(d_TL,Sex=='M')
####

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

min(d_TL$TL_micrometers)
## [1] NA
max(d_TL$TL_micrometers)
## [1] NA
pdf(file="ThoraxLength/p_TL_F.pdf",width=8, height=5)
p_TL_F <- ggplot(data = d_TL_F, aes(x=Population_Lat, y=TL_micrometers, fill=Supervisor.PI)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_F", x="Population", y = "TL_micrometers")
p_TL_F + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
##


pdf(file="ThoraxLength/p_TL_M.pdf",width=8, height=5)
p_TL_M <- ggplot(data = d_TL_M, aes(x=Population_Lat, y=TL_micrometers, fill=Supervisor.PI)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_M", x="Population", y = "TL_micrometers")
p_TL_M + coord_cartesian(ylim = c(500, 1400))+ droseu_theme
## Warning: Removed 1 rows containing non-finite values (stat_boxplot).
## Warning: Removed 1 rows containing missing values (geom_point).

dev.off()
## pdf 
##   3

Kozeretska Lab

pdf(file="ThoraxLength/p_TL_F_Kozeretska.pdf",width=8, height=5)
p_TL_F_Kozeretska <- ggplot(data = (subset(d_TL_F,Supervisor.PI=='Kozeretska')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_F_Kozeretska", x="Population", y = "TL_micrometers")
p_TL_F_Kozeretska + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="ThoraxLength/p_TL_M_Kozeretska.pdf",width=8, height=5)
p_TL_M_Kozeretska <- ggplot(data = (subset(d_TL_M,Supervisor.PI=='Kozeretska')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_M_Kozeretska", x="Population", y = "TL_micrometers")
p_TL_M_Kozeretska + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
TL_F_lmer_Kozeretska <- lmer(TL_micrometers ~ Population + (1|Line:Population) +
                               (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_TL_F,Supervisor.PI=='Kozeretska')))
capture.output(summary(TL_F_lmer_Kozeretska),file = "ThoraxLength/TL_F_Kozeretska_sum.txt")
capture.output(anova(TL_F_lmer_Kozeretska),file = "ThoraxLength/TL_F_lmer_Kozeretska.txt")
capture.output(emmeans(TL_F_lmer_Kozeretska, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_F_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 4810' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 4810)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 4810' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 4810)' or larger];
## but be warned that this may result in large computation time and memory use.
TL_M_lmer_Kozeretska <- lmer(TL_micrometers ~ Population + (1|Line:Population) +
                               (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_TL_M,Supervisor.PI=='Kozeretska')))
capture.output(summary(TL_M_lmer_Kozeretska),file = "ThoraxLength/TL_M_Kozeretska_sum.txt")
capture.output(anova(TL_M_lmer_Kozeretska),file = "ThoraxLength/TL_M_lmer_Kozeretska.txt")
capture.output(emmeans(TL_M_lmer_Kozeretska, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_M_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 4807' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 4807)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 4807' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 4807)' or larger];
## but be warned that this may result in large computation time and memory use.

Posnien Lab

pdf(file="ThoraxLength/p_TL_F_Posnien.pdf",width=8, height=5)
p_TL_F_Posnien <- ggplot(data = (subset(d_TL_F,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_F_Posnien", x="Population", y = "TL_micrometers")
p_TL_F_Posnien + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="ThoraxLength/p_TL_M_Posnien.pdf",width=8, height=5)
p_TL_M_Posnien <- ggplot(data = (subset(d_TL_M,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_M_Posnien", x="Population", y = "TL_micrometers")
p_TL_M_Posnien + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
TL_F_lmer_Posnien <- lmer(TL_micrometers ~ Population + (1|Line:Population)+ 
                            (1|ReplicateVial : Line : Population), data = (subset(d_TL_F,Supervisor.PI=='Posnien')))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
capture.output(summary(TL_F_lmer_Posnien),file = "ThoraxLength/TL_F_Posnien_sum.txt")
capture.output(anova(TL_F_lmer_Posnien),file = "ThoraxLength/TL_F_lmer_Posnien.txt")
capture.output(emmeans(TL_F_lmer_Posnien, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_F_lmer_Posnientk.txt")
head(d_TL_M)
##      Supervisor.PI Diet Batch Population Line Sex ReplicateVialOld
## 1785       Posnien    S     1         AK  AK3   M                1
## 1786       Posnien    S     1         AK  AK3   M                1
## 1787       Posnien    S     1         AK  AK3   M                1
## 1788       Posnien    S     1         AK  AK3   M                1
## 1789       Posnien    S     1         AK  AK3   M                1
## 1790       Posnien    S     1         AK  AK3   M                1
##        ReplicateVial Individual TL_micrometers Country Latitude Longitude
## 1785 Posnien_1_AK3_1          1        793.417 Finland     61.1     23.52
## 1786 Posnien_1_AK3_1          2        791.090 Finland     61.1     23.52
## 1787 Posnien_1_AK3_1          3        761.400 Finland     61.1     23.52
## 1788 Posnien_1_AK3_1          4        829.974 Finland     61.1     23.52
## 1789 Posnien_1_AK3_1          5        820.958 Finland     61.1     23.52
## 1790 Posnien_1_AK3_1          6        798.379 Finland     61.1     23.52
##      Altitude Population_Lat Population_Lon Population_Alt
## 1785       88             AK             AK             AK
## 1786       88             AK             AK             AK
## 1787       88             AK             AK             AK
## 1788       88             AK             AK             AK
## 1789       88             AK             AK             AK
## 1790       88             AK             AK             AK
TL_M_lmer_Posnien <- lmer(TL_micrometers ~ Population + (1|Line:Population), data = (subset(d_TL_M,Supervisor.PI=='Posnien')))
capture.output(summary(TL_M_lmer_Posnien),file = "ThoraxLength/TL_M_Posnien_sum.txt")
capture.output(anova(TL_M_lmer_Posnien),file = "ThoraxLength/TL_M_lmer_Posnien.txt")
capture.output(emmeans(TL_M_lmer_Posnien, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_M_lmer_Posnien_tk.txt")

Ritchie Lab

pdf(file="ThoraxLength/p_TL_F_Ritchie.pdf",width=8, height=5)
p_TL_F_Ritchie <- ggplot(data = (subset(d_TL_F,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_F_Ritchie", x="Population", y = "TL_micrometers")
p_TL_F_Ritchie + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="ThoraxLength/p_TL_M_Ritchie.pdf",width=8, height=5)
p_TL_M_Ritchie <- ggplot(data = (subset(d_TL_M,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_M_Ritchie", x="Population", y = "TL_micrometers")
p_TL_M_Ritchie + coord_cartesian(ylim = c(500, 1400))+ droseu_theme
## Warning: Removed 1 rows containing non-finite values (stat_boxplot).
## Warning: Removed 1 rows containing missing values (geom_point).

dev.off()
## pdf 
##   3
TL_F_lmer_Ritchie <- lmer(TL_micrometers ~ Population + (1|Line:Population) +
                            (1|Batch), data = (subset(d_TL_F,Supervisor.PI=='Ritchie')))
## boundary (singular) fit: see ?isSingular
## Warning: Model failed to converge with 1 negative eigenvalue: -4.8e+01
capture.output(summary(TL_F_lmer_Ritchie),file = "ThoraxLength/TL_F_Ritchie_sum.txt")
capture.output(anova(TL_F_lmer_Ritchie),file = "ThoraxLength/TL_F_lmer_Ritchie.txt")
capture.output(emmeans(TL_F_lmer_Ritchie, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_F_lmer_Ritchie_tk.txt")
TL_M_lmer_Ritchie <- lmer(TL_micrometers ~ Population + (1|Line:Population) +
                            (1|Batch), data = (subset(d_TL_M,Supervisor.PI=='Ritchie')))
capture.output(summary(TL_M_lmer_Ritchie),file = "ThoraxLength/TL_M_Ritchie_sum.txt")
capture.output(anova(TL_M_lmer_Ritchie),file = "ThoraxLength/TL_M_lmer_Ritchie.txt")
capture.output(emmeans(TL_M_lmer_Ritchie, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_M_lmer_Ritchie_tk.txt")

Schmidt Lab

pdf(file="ThoraxLength/p_TL_F_Schmidt.pdf",width=8, height=5)
p_TL_F_Schmidt <- ggplot(data = (subset(d_TL_F,Supervisor.PI=='Schmidt')), aes(x=Population_Lat, y=TL_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_TL_F_Schmidt", x="Population", y = "TL_micrometers")
p_TL_F_Schmidt + coord_cartesian(ylim = c(500, 1400))+ droseu_theme

dev.off()
## pdf 
##   3
TL_F_lmer_Schmidt <- lmer(TL_micrometers ~ Population + (1|Line:Population), data = (subset(d_TL_F,Supervisor.PI=='Schmidt')))
capture.output(summary(TL_F_lmer_Schmidt),file = "ThoraxLength/TL_F_Schmidt_sum.txt")
capture.output(anova(TL_F_lmer_Schmidt),file = "ThoraxLength/TL_F_lmer_Schmidt.txt")
capture.output(emmeans(TL_F_lmer_Schmidt, list(pairwise ~ Population), adjust = "tukey"),file = "ThoraxLength/TL_F_lmer_Schmidt_tk.txt")

Lab correlations

intersect_TL  <- Reduce(intersect, list(d_TL$Line[d_TL$Supervisor.PI == "Kozeretska"],
                                        d_TL$Line[d_TL$Supervisor.PI == "Posnien"],
                                        d_TL$Line[d_TL$Supervisor.PI == "Ritchie"],
                                        d_TL$Line[d_TL$Supervisor.PI == "Schmidt"]))
length(intersect_TL)
## [1] 4
write(intersect_TL, file ="ThoraxLength/intersect_TL.txt", sep = "\t")

Wing area

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Onder Lab : Cansu Aksoy, Ekin Demir, Ezgi Cobanoglu, Banu Sebnem Onder

Posnien Lab : Micael Reis, Lennart Hüper, Nico Posnien

Ritchie Lab : Megan Mcgunnigle, Nicola Cook, Teresa Abaurrea, Marija Tanaskovic, Michael Ritchie

Stamenkovic-Radak Lab : Marija Savic Veselinovic, Marija Tanaskovic, Aleksandra Patenkovic, Filip Filopovski, Mihailo Jelic, Katarina Eric, Pavle Eric, Slobodan Davidovic, Marina Stamenkovic-Radak

Data Reformatting

d_WA <- read.csv("MasterSheets_Oct21_git/WA_MasterSheet_Nov21.csv")
str(d_WA)
## 'data.frame':    21201 obs. of  15 variables:
##  $ Supervisor.PI                : chr  "StamenkovicRadak" "StamenkovicRadak" "StamenkovicRadak" "StamenkovicRadak" ...
##  $ Diet                         : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch                        : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population                   : chr  "YE" "YE" "YE" "YE" ...
##  $ Line                         : chr  "YE13" "YE13" "YE13" "YE13" ...
##  $ Sex                          : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld             : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial                : chr  "StamenkovicRadak_1_YE13_1" "StamenkovicRadak_1_YE13_1" "StamenkovicRadak_1_YE13_1" "StamenkovicRadak_1_YE13_1" ...
##  $ Individual                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ CentroidSizeLeft_micrometers : num  2869 2910 2901 3050 2906 ...
##  $ CentroidSizeRight_micrometers: num  2891 2889 2881 3039 2919 ...
##  $ Country                      : chr  "Turkey" "Turkey" "Turkey" "Turkey" ...
##  $ Latitude                     : num  40.2 40.2 40.2 40.2 40.2 ...
##  $ Longitude                    : num  32.3 32.3 32.3 32.3 32.3 ...
##  $ Altitude                     : int  680 680 680 680 680 680 680 680 680 680 ...
d_WA$Supervisor.PI <- as.factor(d_WA$Supervisor.PI)
d_WA$Diet <- as.factor(d_WA$Diet)
d_WA$Batch <- as.factor(d_WA$Batch)
d_WA$Population_Lat <- factor(d_WA$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_WA$Population_Lon <- factor(d_WA$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_WA$Population_Alt <- factor(d_WA$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_WA$Line <- as.factor(d_WA$Line)
d_WA$Sex <- as.factor(d_WA$Sex)
d_WA$ReplicateVial <- as.factor(d_WA$ReplicateVial)
d_WA$CentroidSizeLeft_micrometers <- as.numeric(d_WA$CentroidSizeLeft_micrometers)
d_WA$CentroidSizeRight_micrometers <- as.numeric(d_WA$CentroidSizeRight_micrometers)
str(d_WA)
## 'data.frame':    21201 obs. of  18 variables:
##  $ Supervisor.PI                : Factor w/ 4 levels "Onder","Posnien",..: 4 4 4 4 4 4 4 4 4 4 ...
##  $ Diet                         : Factor w/ 2 levels "NS","S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch                        : Factor w/ 15 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population                   : chr  "YE" "YE" "YE" "YE" ...
##  $ Line                         : Factor w/ 172 levels "AK1","AK10","AK11",..: 154 154 154 154 154 154 154 154 154 154 ...
##  $ Sex                          : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVialOld             : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial                : Factor w/ 806 levels "Onder_1_AK1_1",..: 711 711 711 711 711 711 711 711 711 711 ...
##  $ Individual                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ CentroidSizeLeft_micrometers : num  2869 2910 2901 3050 2906 ...
##  $ CentroidSizeRight_micrometers: num  2891 2889 2881 3039 2919 ...
##  $ Country                      : chr  "Turkey" "Turkey" "Turkey" "Turkey" ...
##  $ Latitude                     : num  40.2 40.2 40.2 40.2 40.2 ...
##  $ Longitude                    : num  32.3 32.3 32.3 32.3 32.3 ...
##  $ Altitude                     : int  680 680 680 680 680 680 680 680 680 680 ...
##  $ Population_Lat               : Factor w/ 9 levels "YE","RE","GI",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population_Lon               : Factor w/ 9 levels "RE","GI","KA",..: 8 8 8 8 8 8 8 8 8 8 ...
##  $ Population_Alt               : Factor w/ 9 levels "KA","AK","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
d_WA_F <-subset(d_WA,Sex=='F')
d_WA_M <-subset(d_WA,Sex=='M')
min(d_WA$CentroidSizeLeft_micrometers)
## [1] 1857.612
max(d_WA$CentroidSizeLeft_micrometers)
## [1] 3333.05

Left

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

min_WAL <- min(d_WA$CentroidSizeLeft_micrometers)
max_WAL <- max(d_WA$CentroidSizeLeft_micrometers)
min_WAR <- min(d_WA$CentroidSizeRight_micrometers)
max_WAR <- max(d_WA$CentroidSizeRight_micrometers)
pdf(file="WingArea/p_WA_F_R.pdf",width=8, height=5)
p_WA_F_R <- ggplot(data = d_WA_F, aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Supervisor.PI)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
####

pdf(file="WingArea/p_WA_F_L.pdf",width=8, height=5)
p_WA_F_L <- ggplot(data = d_WA_F, aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Supervisor.PI)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
##

pdf(file="WingArea/p_WA_M_R.pdf",width=8, height=5)
p_WA_M_R <- ggplot(data = d_WA_M, aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Supervisor.PI)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
####

pdf(file="WingArea/p_WA_M_L.pdf",width=8, height=5)
p_WA_M_L <- ggplot(data = d_WA_M, aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Supervisor.PI)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3

Onder Lab

pdf(file="WingArea/p_WA_F_Onder_L.pdf",width=8, height=5)
p_WA_F_L_Onder <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Onder_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_Onder + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_Onder_L.pdf",width=8, height=5)
p_WA_M_L_Onder <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Onder_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_Onder + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_Onder_L.pdf",width=8, height=5)
p_WA_F_L_Onder <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Onder_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_Onder + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
####

pdf(file="WingArea/p_WA_M_pop_Onder_L.pdf",width=8, height=5)
p_WA_M_L_Onder <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Onder_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_Onder + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_L_Onder_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                            (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='Onder')))
capture.output(summary(WA_F_L_Onder_lmer),file = "WingArea/WA_F_L_Onder_sum.txt")
capture.output(anova(WA_F_L_Onder_lmer),file = "WingArea/WA_F_L_Onder_lmer.txt")
capture.output(emmeans(WA_F_L_Onder_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_L_Onder_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 5247' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 5247)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 5247' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 5247)' or larger];
## but be warned that this may result in large computation time and memory use.
WA_M_L_Onder_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                            (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='Onder')))
capture.output(summary(WA_M_L_Onder_lmer),file = "WingArea/WA_M_L_Onder_sum.txt")
capture.output(anova(WA_M_L_Onder_lmer),file = "WingArea/WA_M_L_Onder_lmer.txt")
capture.output(emmeans(WA_M_L_Onder_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_M_L_Onder_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 5230' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 5230)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 5230' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 5230)' or larger];
## but be warned that this may result in large computation time and memory use.

Posnien Lab

pdf(file="WingArea/p_WA_F_Posnien_L.pdf",width=8, height=5)
p_WA_F_L_Posnien <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Posnien_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_Posnien + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_Posnien_L.pdf",width=8, height=5)
p_WA_M_L_Posnien <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Posnien_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_Posnien + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_Posnien_L.pdf",width=8, height=5)
p_WA_F_L_Posnien <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Posnien_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_Posnien + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_pop_Posnien_L.pdf",width=8, height=5)
p_WA_M_L_Posnien <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Posnien_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_Posnien + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_L_Posnien_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                            (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='Posnien')))
capture.output(summary(WA_F_L_Posnien_lmer),file = "WingArea/WA_F_L_Posnien_sum.txt")
capture.output(anova(WA_F_L_Posnien_lmer),file = "WingArea/WA_F_L_Posnien_lmer.txt")
capture.output(emmeans(WA_F_L_Posnien_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_L_Posnien_lmer_tk.txt")
WA_M_L_Posnien_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                              (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='Posnien')))
capture.output(summary(WA_M_L_Posnien_lmer),file = "WingArea/WA_M_L_Posnien_sum.txt")
capture.output(anova(WA_M_L_Posnien_lmer),file = "WingArea/WA_M_L_Posnien_lmer.txt")
capture.output(emmeans(WA_M_L_Posnien_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_L_Posnien_lmer_tk.txt")

Ritchie Lab

pdf(file="WingArea/p_WA_F_Ritchie_L.pdf",width=8, height=5)
p_WA_F_L_Ritchie <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Ritchie_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_Ritchie + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
####

pdf(file="WingArea/p_WA_M_Ritchie_L.pdf",width=8, height=5)
p_WA_M_L_Ritchie <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Ritchie_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_Ritchie + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_Ritchie_L.pdf",width=8, height=5)
p_WA_F_L_Ritchie <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Ritchie_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_Ritchie + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_pop_Ritchie_L.pdf",width=8, height=5)
p_WA_M_L_Ritchie <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Ritchie_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_Ritchie + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_L_Ritchie_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                              (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='Ritchie')))
capture.output(summary(WA_F_L_Ritchie_lmer),file = "WingArea/WA_F_L_Ritchie_sum.txt")
capture.output(anova(WA_F_L_Ritchie_lmer),file = "WingArea/WA_F_L_Ritchie_lmer.txt")
capture.output(emmeans(WA_F_L_Ritchie_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_L_Ritchie_lmer_tk.txt")
WA_M_L_Ritchie_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                              (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='Ritchie')))
capture.output(summary(WA_M_L_Ritchie_lmer),file = "WingArea/WA_M_L_Ritchie_sum.txt")
capture.output(anova(WA_M_L_Ritchie_lmer),file = "WingArea/WA_M_L_Ritchie_lmer.txt")
capture.output(emmeans(WA_M_L_Ritchie_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_M_L_Ritchie_lmer_tk.txt")

Stamenkovic-Radak Lab

pdf(file="WingArea/p_WA_F_StamenkovicRadak_L.pdf",width=8, height=5)
p_WA_F_L_StamenkovicRadak <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_StamenkovicRadak_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_StamenkovicRadak + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
####

pdf(file="WingArea/p_WA_M_StamenkovicRadak_L.pdf",width=8, height=5)
p_WA_M_L_StamenkovicRadak <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_StamenkovicRadak_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_StamenkovicRadak + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_StamenkovicRadak_L.pdf",width=8, height=5)
p_WA_F_L_StamenkovicRadak <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_StamenkovicRadak_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_F_L_StamenkovicRadak + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
####

pdf(file="WingArea/p_WA_M_pop_StamenkovicRadak_L.pdf",width=8, height=5)
p_WA_M_L_StamenkovicRadak <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeLeft_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_StamenkovicRadak_L", x="Population", y = "CentroidSizeLeft_micrometers")
p_WA_M_L_StamenkovicRadak + coord_cartesian(ylim = c(min_WAL, max_WAL))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_L_StamenkovicRadak_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                                       (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='StamenkovicRadak')))
## boundary (singular) fit: see ?isSingular
## Warning: Model failed to converge with 1 negative eigenvalue: -7.1e-03
capture.output(summary(WA_F_L_StamenkovicRadak_lmer),file = "WingArea/WA_F_L_StamenkovicRadak_sum.txt")
capture.output(anova(WA_F_L_StamenkovicRadak_lmer),file = "WingArea/WA_F_L_StamenkovicRadak_lmer.txt")
capture.output(emmeans(WA_F_L_StamenkovicRadak_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_L_StamenkovicRadak_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3787' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3787)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3787' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3787)' or larger];
## but be warned that this may result in large computation time and memory use.
WA_M_L_StamenkovicRadak_lmer <- lmer(CentroidSizeLeft_micrometers ~ Population + (1|Line:Population) +
                                       (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='StamenkovicRadak')))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
## Warning: Model failed to converge with 1 negative eigenvalue: -4.0e-03
capture.output(summary(WA_M_L_StamenkovicRadak_lmer),file = "WingArea/WA_M_L_StamenkovicRadak_sum.txt")
capture.output(anova(WA_M_L_StamenkovicRadak_lmer),file = "WingArea/WA_M_L_StamenkovicRadak_lmer.txt")
capture.output(emmeans(WA_M_L_StamenkovicRadak_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_M_L_StamenkovicRadak_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3662' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3662)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3662' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3662)' or larger];
## but be warned that this may result in large computation time and memory use.

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

min_WAR <- min(d_WA$CentroidSizeRight_micrometers)
max_WAR <- max(d_WA$CentroidSizeRight_micrometers)

Onder Lab

for (i in dev.list()[1]:dev.list()[length(dev.list())]) {
   dev.off()
}
# crashed bc tries to save lots -- need to remove some 
pdf(file="WingArea/p_WA_F_Onder_R.pdf",width=8, height=5)
p_WA_F_R_Onder <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Onder_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_Onder + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_Onder_R.pdf",width=8, height=5)
p_WA_M_R_Onder <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Onder_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_Onder + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_Onder_R.pdf",width=8, height=5)
p_WA_F_R_Onder <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_pop_Onder_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_Onder + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_pop_Onder_R.pdf",width=8, height=5)
p_WA_M_R_Onder <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_pop_Onder_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_Onder + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_R_Onder_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                            (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='Onder')))
capture.output(summary(WA_F_R_Onder_lmer),file = "WingArea/WA_F_R_Onder_sum.txt")
capture.output(anova(WA_F_R_Onder_lmer),file = "WingArea/WA_F_R_Onder_lmer.txt")
capture.output(emmeans(WA_F_R_Onder_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_R_Onder_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 5247' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 5247)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 5247' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 5247)' or larger];
## but be warned that this may result in large computation time and memory use.
WA_M_R_Onder_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                            (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='Onder')))
capture.output(summary(WA_M_R_Onder_lmer),file = "WingArea/WA_M_R_Onder_sum.txt")
capture.output(anova(WA_M_R_Onder_lmer),file = "WingArea/WA_M_R_Onder_lmer.txt")
capture.output(emmeans(WA_M_R_Onder_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_M_R_Onder_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 5230' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 5230)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 5230' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 5230)' or larger];
## but be warned that this may result in large computation time and memory use.

Posnien Lab

pdf(file="WingArea/p_WA_F_Posnien_R.pdf",width=8, height=5)
p_WA_F_R_Posnien <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Posnien_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_Posnien + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_Posnien_R.pdf",width=8, height=5)
p_WA_M_R_Posnien <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Posnien_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_Posnien + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_Posnien_R.pdf",width=8, height=5)
p_WA_F_R_Posnien <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_pop_Posnien_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_Posnien + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_pop_Posnien_R.pdf",width=8, height=5)
p_WA_M_R_Posnien <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Posnien')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_pop_Posnien_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_Posnien + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_R_Posnien_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                              (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='Posnien')))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
## Warning: Model failed to converge with 1 negative eigenvalue: -1.1e-04
capture.output(summary(WA_F_R_Posnien_lmer),file = "WingArea/WA_F_R_Posnien_sum.txt")
capture.output(anova(WA_F_R_Posnien_lmer),file = "WingArea/WA_F_R_Posnien_lmer.txt")
capture.output(emmeans(WA_F_R_Posnien_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_R_Posnien_lmer_tk.txt")
WA_M_R_Posnien_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                               (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='Posnien')))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
capture.output(summary(WA_M_R_Posnien_lmer),file = "WingArea/WA_M_R_Posnien_sum.txt")
capture.output(anova(WA_M_R_Posnien_lmer),file = "WingArea/WA_M_R_Posnien_lmer.txt")
capture.output(emmeans(WA_M_R_Posnien_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_M_R_Posnien_lmer_tk.txt")

Ritchie Lab

pdf(file="WingArea/p_WA_F_Ritchie_R.pdf",width=8, height=5)
p_WA_F_R_Ritchie <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_Ritchie_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_Ritchie + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_Ritchie_R.pdf",width=8, height=5)
p_WA_M_R_Ritchie <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_Ritchie_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_Ritchie + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_Ritchie_R.pdf",width=8, height=5)
p_WA_F_R_Ritchie <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_pop_Ritchie_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_Ritchie + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_pop_Ritchie_R.pdf",width=8, height=5)
p_WA_M_R_Ritchie <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='Ritchie')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_pop_Ritchie_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_Ritchie + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_R_Ritchie_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                              (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='Ritchie')))
capture.output(summary(WA_F_R_Ritchie_lmer),file = "WingArea/WA_F_R_Ritchie_sum.txt")
capture.output(anova(WA_F_R_Ritchie_lmer),file = "WingArea/WA_F_R_Ritchie_lmer.txt")
capture.output(emmeans(WA_F_R_Ritchie_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_R_Ritchie_lmer_tk.txt")
WA_M_R_Ritchie_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                              (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='Ritchie')))
capture.output(summary(WA_M_R_Ritchie_lmer),file = "WingArea/WA_M_R_Ritchie_sum.txt")
capture.output(anova(WA_M_R_Ritchie_lmer),file = "WingArea/WA_M_R_Ritchie_lmer.txt")
capture.output(emmeans(WA_M_R_Ritchie_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_M_R_Ritchie_lmer_tk.txt")

Stamenkovic-Radak Lab

pdf(file="WingArea/p_WA_F_StamenkovicRadak_R.pdf",width=8, height=5)
p_WA_F_R_StamenkovicRadak <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_StamenkovicRadak_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_StamenkovicRadak + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_StamenkovicRadak_R.pdf",width=8, height=5)
p_WA_M_R_StamenkovicRadak <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Batch)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_StamenkovicRadak_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_StamenkovicRadak + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_F_pop_StamenkovicRadak_R.pdf",width=8, height=5)
p_WA_F_R_StamenkovicRadak <- ggplot(data = (subset(d_WA_F,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_F_pop_StamenkovicRadak_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_F_R_StamenkovicRadak + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="WingArea/p_WA_M_pop_StamenkovicRadak_R.pdf",width=8, height=5)
p_WA_M_R_StamenkovicRadak <- ggplot(data = (subset(d_WA_M,Supervisor.PI=='StamenkovicRadak')), aes(x=Population_Lat, y=CentroidSizeRight_micrometers, fill=Population)) + 
  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
  labs(title="p_WA_M_pop_StamenkovicRadak_R", x="Population", y = "CentroidSizeRight_micrometers")
p_WA_M_R_StamenkovicRadak + coord_cartesian(ylim = c(min_WAR, max_WAR))+ droseu_theme

dev.off()
## pdf 
##   3
WA_F_R_StamenkovicRadak_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                                       (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_F,Supervisor.PI=='StamenkovicRadak')))
## boundary (singular) fit: see ?isSingular
capture.output(summary(WA_F_R_StamenkovicRadak_lmer),file = "WingArea/WA_F_R_StamenkovicRadak_sum.txt")
capture.output(anova(WA_F_R_StamenkovicRadak_lmer),file = "WingArea/WA_F_R_StamenkovicRadak_lmer.txt")
capture.output(emmeans(WA_F_R_StamenkovicRadak_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_R_StamenkovicRadak_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3787' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3787)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3787' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3787)' or larger];
## but be warned that this may result in large computation time and memory use.
WA_M_R_StamenkovicRadak_lmer <- lmer(CentroidSizeRight_micrometers ~ Population + (1|Line:Population) +
                                       (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_WA_M,Supervisor.PI=='StamenkovicRadak')))
## boundary (singular) fit: see ?isSingular
## Warning: Model failed to converge with 1 negative eigenvalue: -3.1e+02
capture.output(summary(WA_M_R_StamenkovicRadak_lmer),file = "WingArea/WA_M_R_StamenkovicRadak_sum.txt")
capture.output(anova(WA_M_R_StamenkovicRadak_lmer),file = "WingArea/WA_M_R_StamenkovicRadak_lmer.txt")
capture.output(emmeans(WA_M_R_StamenkovicRadak_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "WingArea/WA_F_R_StamenkovicRadak_lmer_tk.txt")
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 3662' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 3662)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'lmerTest.limit = 3662' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 3662)' or larger];
## but be warned that this may result in large computation time and memory use.

Lab correlations

intersect_WA_F  <- Reduce(intersect, list(d_WA_F$Line[d_WA_F$Supervisor.PI == "Onder"],
                                          d_WA_F$Line[d_WA_F$Supervisor.PI == "Posnien"],
                                          d_WA_F$Line[d_WA_F$Supervisor.PI == "Ritchie"],
                                          d_WA_F$Line[d_WA_F$Supervisor.PI == "StamenkovicRadak"]))
length(intersect_WA_F)
## [1] 5
write(intersect_WA_F, file ="WingArea/WA_F_int.txt", sep = "\t")
intersect_WA_M  <- Reduce(intersect, list(d_WA_M$Line[d_WA_M$Supervisor.PI == "Onder"],
                                          d_WA_M$Line[d_WA_M$Supervisor.PI == "Posnien"],
                                          d_WA_M$Line[d_WA_M$Supervisor.PI == "Ritchie"],
                                          d_WA_M$Line[d_WA_M$Supervisor.PI == "StamenkovicRadak"]))
length(intersect_WA_M)
## [1] 5
write(intersect_WA_M, file ="WingArea/WA_M_int.txt", sep = "\t")

Fecundity

For a detailed description of tables, plots, linear models and outputs, please refer here

#Note that the trait has been phenotyped only in females.

Contributors:

Billeter Lab : Xiaocui Wang, Tiphaine Bailly, Mario Mira, Jean-Christophe Billeter

Fricke Lab : Claudia Fricke

Data Reformatting

Reading data in R

d_Fec <- read.csv("MasterSheets_Oct21_git/FEC_MasterSheet_Oct21.csv")
str(d_Fec)
## 'data.frame':    1725 obs. of  13 variables:
##  $ Supervisor.PI        : chr  "Billeter" "Billeter" "Billeter" "Billeter" ...
##  $ Diet                 : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch                : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population           : chr  "AK" "AK" "AK" "AK" ...
##  $ Line                 : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Individual           : int  1 2 3 4 5 1 2 3 4 5 ...
##  $ NumberOfAdultsEclosed: int  206 75 54 58 278 162 0 101 145 188 ...
##  $ Notes                : chr  NA NA NA NA ...
##  $ Censor               : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Country              : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude             : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude            : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude             : int  88 88 88 88 88 88 88 88 88 88 ...

Factors need reformatting (i.e. Supervisor.PI should be coded as a factor, not character).

str(d_Fec)
## 'data.frame':    1725 obs. of  13 variables:
##  $ Supervisor.PI        : chr  "Billeter" "Billeter" "Billeter" "Billeter" ...
##  $ Diet                 : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch                : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population           : chr  "AK" "AK" "AK" "AK" ...
##  $ Line                 : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Individual           : int  1 2 3 4 5 1 2 3 4 5 ...
##  $ NumberOfAdultsEclosed: int  206 75 54 58 278 162 0 101 145 188 ...
##  $ Notes                : chr  NA NA NA NA ...
##  $ Censor               : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Country              : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude             : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude            : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude             : int  88 88 88 88 88 88 88 88 88 88 ...
d_Fec$Supervisor.PI <- as.factor(d_Fec$Supervisor.PI)
d_Fec$Diet <- as.factor(d_Fec$Diet)
d_Fec$Batch <- as.factor(d_Fec$Batch)
d_Fec$Population <- as.factor(d_Fec$Population)
d_Fec$Population_Lat <- factor(d_Fec$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_Fec$Population_Lon <- factor(d_Fec$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_Fec$Population_Alt <- factor(d_Fec$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_Fec$Line <- as.factor(d_Fec$Line)
d_Fec$NumberOfAdultsEclosed <- as.numeric(d_Fec$NumberOfAdultsEclosed)
d_Fec$Censor <- as.factor(d_Fec$Censor)
str(d_Fec)
## 'data.frame':    1725 obs. of  16 variables:
##  $ Supervisor.PI        : Factor w/ 2 levels "Billeter","Fricke": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet                 : Factor w/ 2 levels "NS","S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch                : Factor w/ 8 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population           : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Line                 : Factor w/ 169 levels "AK1","AK10","AK11",..: 1 1 1 1 1 11 11 11 11 11 ...
##  $ Individual           : int  1 2 3 4 5 1 2 3 4 5 ...
##  $ NumberOfAdultsEclosed: num  206 75 54 58 278 162 0 101 145 188 ...
##  $ Notes                : chr  NA NA NA NA ...
##  $ Censor               : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Country              : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude             : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude            : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude             : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat       : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon       : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt       : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_Fec <- subset(d_Fec, Censor == "0")

Now they should be in the correct format, see below.

str(d_Fec)
## 'data.frame':    1721 obs. of  16 variables:
##  $ Supervisor.PI        : Factor w/ 2 levels "Billeter","Fricke": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet                 : Factor w/ 2 levels "NS","S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch                : Factor w/ 8 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population           : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Line                 : Factor w/ 169 levels "AK1","AK10","AK11",..: 1 1 1 1 1 11 11 11 11 11 ...
##  $ Individual           : int  1 2 3 4 5 1 2 3 4 5 ...
##  $ NumberOfAdultsEclosed: num  206 75 54 58 278 162 0 101 145 188 ...
##  $ Notes                : chr  NA NA NA NA ...
##  $ Censor               : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Country              : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude             : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude            : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude             : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat       : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon       : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt       : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics for fecundity at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

min_Fec <- min(d_Fec$NumberOfAdultsEclosed)
max_Fec <- max(d_Fec$NumberOfAdultsEclosed)

y-axis is scaled by the minimum (0) and maximum (306) values in the full data set.

Here is an example code for fecundity, Billeter Lab. The same code is used to generate plots for other contributing labs by filtering the data at supervisor level (for females and males, if applicable).

Billeter Lab

pdf(file="Fecundity/p_Fec_Billeter.pdf",width=8, height=5)
p_Fec_Billeter <- ggplot(data = (subset(d_Fec,Supervisor.PI=='Billeter')), aes(x=Population_Lat, y=NumberOfAdultsEclosed, fill=Batch)) +  geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + labs(title="p_Fec_Billeter", x="Population", y = "NumberOfAdultsEclosed")
p_Fec_Billeter + coord_cartesian(ylim = c(min_Fec, max_Fec))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="Fecundity/p_Fec_pop_Billeter.pdf",width=8, height=5)
p_Fec_pop_Billeter <- ggplot(data = (subset(d_Fec,Supervisor.PI=='Billeter')), aes(x=Population_Lat, y=NumberOfAdultsEclosed, fill=Population_Lat)) + geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + labs(title="p_Fec_pop_Billeter", x="Population", y = "NumberOfAdultsEclosed")
p_Fec_pop_Billeter + coord_cartesian(ylim = c(min_Fec, max_Fec))+ droseu_theme

dev.off()
## pdf 
##   3
Fec_lmer_Billeter <- lmer(NumberOfAdultsEclosed ~ Population + (1|Population:Line), data = d_Fec[d_Fec$Supervisor.PI == "Billeter",]) 
capture.output(anova(Fec_lmer_Billeter),file = "Fecundity/Fec_lmer_Billeter.txt")
capture.output(summary(Fec_lmer_Billeter),file = "Fecundity/Fec_lmer_Billeter_sum.txt")
capture.output(emmeans(Fec_lmer_Billeter, list(pairwise ~ Population), adjust = "tukey"),file = "Fecundity/Fec_lmer_Billeter_tukey.txt")
anova(Fec_lmer_Billeter)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Population  61874  7734.2     8 148.39  2.7992 0.006461 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(Fec_lmer_Billeter)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: NumberOfAdultsEclosed ~ Population + (1 | Population:Line)
##    Data: d_Fec[d_Fec$Supervisor.PI == "Billeter", ]
## 
## REML criterion at convergence: 8773.2
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.02323 -0.55643 -0.03579  0.53645  2.97008 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Population:Line (Intercept) 1113     33.36   
##  Residual                    2763     52.56   
## Number of obs: 805, groups:  Population:Line, 160
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)    97.067      9.154 149.480  10.603   <2e-16 ***
## PopulationGI  -22.874     13.904 146.434  -1.645   0.1021    
## PopulationKA   12.903     12.928 148.886   0.998   0.3198    
## PopulationMA    2.053     13.460 147.925   0.152   0.8790    
## PopulationMU   -3.225     13.226 152.369  -0.244   0.8077    
## PopulationRE  -29.213     14.231 148.404  -2.053   0.0419 *  
## PopulationUM    5.760     13.959 148.978   0.413   0.6805    
## PopulationVA  -10.734     12.894 147.238  -0.832   0.4065    
## PopulationYE  -33.130     12.963 150.368  -2.556   0.0116 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.658                                                 
## PopulatinKA -0.708  0.466                                          
## PopulatinMA -0.680  0.448  0.482                                   
## PopulatinMU -0.692  0.456  0.490  0.471                            
## PopulatinRE -0.643  0.424  0.455  0.437  0.445                     
## PopulatinUM -0.656  0.432  0.464  0.446  0.454  0.422              
## PopulatinVA -0.710  0.467  0.503  0.483  0.491  0.457  0.466       
## PopulatinYE -0.706  0.465  0.500  0.480  0.489  0.454  0.463  0.501

Fricke Lab

## pdf 
##   3

## pdf 
##   3
anova(Fec_lmer_Fricke)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value Pr(>F)
## Population 4506.3  563.29     8 146.12  0.4525 0.8873
summary(Fec_lmer_Fricke)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: NumberOfAdultsEclosed ~ Population + (1 | Population:Line) +  
##     (1 | Batch)
##    Data: d_Fec[d_Fec$Supervisor.PI == "Fricke", ]
## 
## REML criterion at convergence: 9249.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8102 -0.6481 -0.0705  0.5894  3.4523 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Population:Line (Intercept)  455.06  21.332  
##  Batch           (Intercept)   41.26   6.423  
##  Residual                    1244.86  35.283  
## Number of obs: 916, groups:  Population:Line, 161; Batch, 8
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)    61.074      6.779  95.724   9.009 2.05e-14 ***
## PopulationGI  -10.583      9.374 152.556  -1.129    0.261    
## PopulationKA  -10.298      8.769 143.094  -1.174    0.242    
## PopulationMA   -5.089      8.673 146.815  -0.587    0.558    
## PopulationMU   -4.207      8.875 147.002  -0.474    0.636    
## PopulationRE   -3.612      9.302 151.133  -0.388    0.698    
## PopulationUM  -14.075      8.963 148.011  -1.570    0.118    
## PopulationVA   -7.192      8.825 149.162  -0.815    0.416    
## PopulationYE   -8.232      8.793 151.818  -0.936    0.351    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.623                                                 
## PopulatinKA -0.665  0.483                                          
## PopulatinMA -0.671  0.486  0.522                                   
## PopulatinMU -0.667  0.475  0.511  0.513                            
## PopulatinRE -0.628  0.455  0.487  0.495  0.478                     
## PopulatinUM -0.653  0.472  0.505  0.514  0.495  0.479              
## PopulatinVA -0.668  0.477  0.513  0.521  0.510  0.484  0.503       
## PopulatinYE -0.668  0.480  0.514  0.522  0.507  0.486  0.506  0.511

Lab correlations

intersect_Fec <- intersect(d_Fec$Line[d_Fec$Supervisor.PI == "Billeter"], d_Fec$Line[d_Fec$Supervisor.PI == "Fricke"])
length(intersect_Fec)
## [1] 152
write(intersect_Fec, file ="Fecundity/Fec_int.txt", sep = "\t")

Lifespan

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Flatt Lab : Esra Durmaz, Envel Kerdaffrec, Thibault Schowing, Virginie Thieu, Marisa Rodrigues, Thomas Flatt

Parsch Lab : Amanda Glaser-Schmitt, Eliza Argyridou, John Parsch

Pasyukova Lab : Natalia Roshina, Alexander Symonenko, Mikhail Trostnikov, Evgenia Tsybul’ko, Ekaterina Veselkina, Olga Rybina, Elena Pasyukova

Data Reformatting

d_LS_L <- read.csv("MasterSheets_Oct21_git/LSL_MasterSheet_Oct21.csv")
str(d_LS_L)
## 'data.frame':    39844 obs. of  15 variables:
##  $ Supervisor.PI      : chr  "Pasyukova" "Pasyukova" "Pasyukova" "Pasyukova" ...
##  $ Diet               : chr  "S" "S" "S" "S" ...
##  $ Batch              : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : chr  "AK" "AK" "AK" "AK" ...
##  $ Line               : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial      : chr  "Pasyukova_1_AK1_1" "Pasyukova_1_AK1_1" "Pasyukova_1_AK1_1" "Pasyukova_1_AK1_1" ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ LSL_AgeAtDeath_days: int  10 37 41 42 42 45 45 45 45 46 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
d_LS_L$Supervisor.PI <- as.factor(d_LS_L$Supervisor.PI)
d_LS_L$Diet <- as.factor(d_LS_L$Diet)
d_LS_L$Batch <- as.factor(d_LS_L$Batch)
d_LS_L$Population <- as.factor(d_LS_L$Population)
d_LS_L$Population_Lat <- factor(d_LS_L$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_LS_L$Population_Lon <- factor(d_LS_L$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_LS_L$Population_Alt <- factor(d_LS_L$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_LS_L$Line <- as.factor(d_LS_L$Line)
d_LS_L$ReplicateVial <- as.factor(d_LS_L$ReplicateVial)
d_LS_L$LSL_AgeAtDeath_days <- as.numeric(d_LS_L$LSL_AgeAtDeath_days)
d_LS_L$Censor <- as.factor(d_LS_L$Censor)
str(d_LS_L)
## 'data.frame':    39844 obs. of  18 variables:
##  $ Supervisor.PI      : Factor w/ 2 levels "Parsch","Pasyukova": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Diet               : Factor w/ 2 levels "NS","S": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Batch              : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Line               : Factor w/ 171 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial      : Factor w/ 2032 levels "Parsch_1_AK1_1",..: 681 681 681 681 681 681 681 681 681 681 ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ LSL_AgeAtDeath_days: num  10 37 41 42 42 45 45 45 45 46 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat     : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon     : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt     : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_LS_L_F <-subset(d_LS_L,Sex=='F')
d_LS_L_M <-subset(d_LS_L,Sex=='M')
d_LS_P <- read.csv("MasterSheets_Oct21_git/LSP_MasterSheet_Oct21.csv")
str(d_LS_P)
## 'data.frame':    10612 obs. of  14 variables:
##  $ Supervisor.PI      : chr  "Flatt" "Flatt" "Flatt" "Flatt" ...
##  $ Diet               : chr  "S" "S" "S" "S" ...
##  $ Batch              : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : chr  "AK" "AK" "AK" "AK" ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ ReplicateCageOld   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateCage      : chr  "Flatt_AK_F_1" "Flatt_AK_F_1" "Flatt_AK_F_1" "Flatt_AK_F_1" ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : int  1 1 1 1 0 0 0 1 0 0 ...
##  $ LSP_AgeAtDeath_days: int  11 11 17 23 26 26 33 33 40 43 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
d_LS_P$Supervisor.PI <- as.factor(d_LS_P$Supervisor.PI)
d_LS_P$Diet <- as.factor(d_LS_P$Diet)
d_LS_P$Batch <- as.factor(d_LS_P$Batch)
d_LS_P$Population <- as.factor(d_LS_P$Population)
d_LS_P$Population_Lat <- factor(d_LS_P$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_LS_P$Population_Lon <- factor(d_LS_P$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_LS_P$Population_Alt <- factor(d_LS_P$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_LS_P$ReplicateCage <- as.factor(d_LS_P$ReplicateCage)
d_LS_P$LSP_AgeAtDeath_days <- as.numeric(d_LS_P$LSP_AgeAtDeath_days)
d_LS_P$Censor <- as.factor(d_LS_P$Censor)
str(d_LS_P)
## 'data.frame':    10612 obs. of  17 variables:
##  $ Supervisor.PI      : Factor w/ 1 level "Flatt": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet               : Factor w/ 1 level "S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch              : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ ReplicateCageOld   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateCage      : Factor w/ 180 levels "Flatt_AK_F_1",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : Factor w/ 2 levels "0","1": 2 2 2 2 1 1 1 2 1 1 ...
##  $ LSP_AgeAtDeath_days: num  11 11 17 23 26 26 33 33 40 43 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat     : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon     : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt     : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_LS_P_F <-subset(d_LS_P,Sex=='F')
d_LS_P_M <-subset(d_LS_P,Sex=='M')
d_LS_M <- read.csv("MasterSheets_Oct21_git/LSM_MasterSheet_Oct21.csv")
str(d_LS_M)
## 'data.frame':    50456 obs. of  12 variables:
##  $ Supervisor.PI      : chr  "Pasyukova" "Pasyukova" "Pasyukova" "Pasyukova" ...
##  $ Diet               : chr  "S" "S" "S" "S" ...
##  $ Batch              : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : chr  "AK" "AK" "AK" "AK" ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ LSM_AgeAtDeath_days: int  10 37 41 42 42 45 45 45 45 46 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
d_LS_M$Supervisor.PI <- as.factor(d_LS_M$Supervisor.PI)
d_LS_M$Diet <- as.factor(d_LS_M$Diet)
d_LS_M$Batch <- as.factor(d_LS_M$Batch)
d_LS_M$Population <- as.factor(d_LS_M$Population)
d_LS_M$Population_Lat <- factor(d_LS_M$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_LS_M$Population_Lon <- factor(d_LS_M$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_LS_M$Population_Alt <- factor(d_LS_M$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_LS_M$LSM_AgeAtDeath_days <- as.numeric(d_LS_M$LSM_AgeAtDeath_days)
d_LS_M$Censor <- as.factor(d_LS_M$Censor)
str(d_LS_M)
## 'data.frame':    50456 obs. of  15 variables:
##  $ Supervisor.PI      : Factor w/ 3 levels "Flatt","Parsch",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Diet               : Factor w/ 2 levels "NS","S": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Batch              : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ LSM_AgeAtDeath_days: num  10 37 41 42 42 45 45 45 45 46 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat     : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon     : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt     : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_LS_M_F <-subset(d_LS_M,Sex=='F')
d_LS_M_M <-subset(d_LS_M,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

table_LS_L_Line_wbatch <- write.csv(d_LS_L %>% group_by(Supervisor.PI, Batch, Sex, Population, Line) %>% 
                                    summarise_at(vars(LSL_AgeAtDeath_days), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "Lifespan/table_LS_L_Line_wbatch.csv", row.names = T)
table_LS_L_Line_wbatch <- read.csv("Lifespan/table_LS_L_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_LS_L_Line_wobatch <- write.csv(d_LS_L %>% group_by(Supervisor.PI, Sex, Population, Line) %>% 
                                    summarise_at(vars(LSL_AgeAtDeath_days), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "Lifespan/table_LS_L_Line_wobatch.csv", row.names = T)
table_LS_L_Line_wobatch <- read.csv("Lifespan/table_LS_L_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_LS_M_Pop_wbatch <- write.csv(d_LS_M %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                   summarise_at(vars(LSM_AgeAtDeath_days), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "Lifespan/table_LS_M_Pop_wbatch.csv", row.names = T)

table_LS_M_Pop_wbatch <- read.csv("Lifespan/table_LS_M_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_LS_M_Pop_wobatch <- write.csv(d_LS_M %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                   summarise_at(vars(LSM_AgeAtDeath_days), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "Lifespan/table_LS_M_Pop_wobatch.csv", row.names = T)
table_LS_M_Pop_wobatch <- read.csv("Lifespan/table_LS_M_Pop_wobatch.csv")

Plots and Linear Models by Lab

Flatt Lab

str(d_LS_P)
## 'data.frame':    10612 obs. of  17 variables:
##  $ Supervisor.PI      : Factor w/ 1 level "Flatt": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet               : Factor w/ 1 level "S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch              : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : Factor w/ 9 levels "AK","GI","KA",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex                : chr  "F" "F" "F" "F" ...
##  $ ReplicateCageOld   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateCage      : Factor w/ 180 levels "Flatt_AK_F_1",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Individual         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Censor             : Factor w/ 2 levels "0","1": 2 2 2 2 1 1 1 2 1 1 ...
##  $ LSP_AgeAtDeath_days: num  11 11 17 23 26 26 33 33 40 43 ...
##  $ Country            : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude           : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude          : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude           : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat     : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon     : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt     : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_LS_P_F_Flatt_lmer <- lmer(LSP_AgeAtDeath_days ~ Population + (1|Population:ReplicateCage), data = filter(d_LS_P_F, (Censor == "0") | (Supervisor.PI == "Flatt")))
capture.output(summary(d_LS_P_F_Flatt_lmer),file = "Lifespan/d_LS_P_F_Flatt_lmer_sum.txt")
capture.output(anova(d_LS_P_F_Flatt_lmer),file = "Lifespan/d_LS_P_F_Flatt_lmer.txt")
#capture.output(emmeans(d_LS_P_F_Flatt_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_P_F_Flatt_lmer_tk.txt")
anova(d_LS_P_F_Flatt_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population  56200    7025     8 81.189  35.081 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(d_LS_P_F_Flatt_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: LSP_AgeAtDeath_days ~ Population + (1 | Population:ReplicateCage)
##    Data: filter(d_LS_P_F, (Censor == "0") | (Supervisor.PI == "Flatt"))
## 
## REML criterion at convergence: 43400.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7835 -0.5617  0.0172  0.6469  3.1886 
## 
## Random effects:
##  Groups                   Name        Variance Std.Dev.
##  Population:ReplicateCage (Intercept)   4.454   2.111  
##  Residual                             200.249  14.151  
## Number of obs: 5327, groups:  Population:ReplicateCage, 90
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)    57.104      0.884  80.691  64.596  < 2e-16 ***
## PopulationGI  -15.121      1.249  80.463 -12.103  < 2e-16 ***
## PopulationKA   -3.333      1.250  80.520  -2.667  0.00925 ** 
## PopulationMA   -8.913      1.252  81.054  -7.121 3.93e-10 ***
## PopulationMU   -1.238      1.252  81.287  -0.989  0.32579    
## PopulationRE  -13.142      1.250  80.691 -10.512  < 2e-16 ***
## PopulationUM   -8.045      1.256  81.983  -6.407 8.82e-09 ***
## PopulationVA   -3.441      1.252  81.172  -2.748  0.00739 ** 
## PopulationYE   -8.693      1.250  80.633  -6.954 8.41e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.708                                                 
## PopulatinKA -0.707  0.501                                          
## PopulatinMA -0.706  0.500  0.500                                   
## PopulatinMU -0.706  0.499  0.499  0.498                            
## PopulatinRE -0.707  0.500  0.500  0.499  0.499                     
## PopulatinUM -0.704  0.498  0.498  0.497  0.497  0.498              
## PopulatinVA -0.706  0.500  0.499  0.499  0.498  0.499  0.497       
## PopulatinYE -0.707  0.500  0.500  0.499  0.499  0.500  0.498  0.499
d_LS_P_M_Flatt_lmer <- lmer(LSP_AgeAtDeath_days ~ Population + (1|Population:ReplicateCage), data = filter(d_LS_P_M, (Censor == "0") | (Supervisor.PI == "Flatt")))
capture.output(summary(d_LS_P_M_Flatt_lmer),file = "Lifespan/d_LS_P_M_Flatt_lmer_sum.txt")
capture.output(anova(d_LS_P_M_Flatt_lmer),file = "Lifespan/d_LS_P_M_Flatt_lmer.txt")
#capture.output(emmeans(d_LS_P_F_Flatt_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_P_M_Flatt_lmer_tk.txt")
anova(d_LS_P_M_Flatt_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 9600.6  1200.1     8 80.393   6.182 3.329e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(d_LS_P_M_Flatt_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: LSP_AgeAtDeath_days ~ Population + (1 | Population:ReplicateCage)
##    Data: filter(d_LS_P_M, (Censor == "0") | (Supervisor.PI == "Flatt"))
## 
## REML criterion at convergence: 42878.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.6182 -0.6293 -0.0147  0.6613  3.0856 
## 
## Random effects:
##  Groups                   Name        Variance Std.Dev.
##  Population:ReplicateCage (Intercept)   2.966   1.722  
##  Residual                             194.125  13.933  
## Number of obs: 5285, groups:  Population:ReplicateCage, 90
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   49.9923     0.7911 80.0012  63.196  < 2e-16 ***
## PopulationGI  -0.9213     1.1212 80.6444  -0.822  0.41366    
## PopulationKA   4.7140     1.1219 80.8729   4.202 6.77e-05 ***
## PopulationMA   1.5880     1.1196 80.2139   1.418  0.15994    
## PopulationMU   3.7648     1.1151 78.9621   3.376  0.00114 ** 
## PopulationRE  -0.7962     1.1179 79.7147  -0.712  0.47839    
## PopulationUM   1.4330     1.1198 80.1975   1.280  0.20433    
## PopulationVA  -0.1026     1.1234 81.2365  -0.091  0.92746    
## PopulationYE   0.6306     1.1188 79.9994   0.564  0.57455    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.706                                                 
## PopulatinKA -0.705  0.498                                          
## PopulatinMA -0.707  0.499  0.498                                   
## PopulatinMU -0.709  0.501  0.500  0.501                            
## PopulatinRE -0.708  0.499  0.499  0.500  0.502                     
## PopulatinUM -0.706  0.498  0.498  0.499  0.501  0.500              
## PopulatinVA -0.704  0.497  0.497  0.498  0.500  0.498  0.497       
## PopulatinYE -0.707  0.499  0.499  0.500  0.502  0.500  0.500  0.498

Parsch Lab

d_LS_L_F_Parsch_lmer <- lmer(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                     (1|Line:ReplicateVial), data = filter(d_LS_L_F, (Censor == "0") | (Supervisor.PI == "Parsch")))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.0570562 (tol = 0.002, component 1)
capture.output(summary(d_LS_L_F_Parsch_lmer),file = "Lifespan/d_LS_L_F_Parsch_lmer_sum.txt")
capture.output(anova(d_LS_L_F_Parsch_lmer),file = "Lifespan/d_LS_L_F_Parsch_lmer.txt")
#capture.output(emmeans(d_LS_L_F_Parsch_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_L_F_Parsch_lmer_tk.txt")
anova(d_LS_L_F_Parsch_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 7129.9  891.23     8 157.94  3.6879 0.0005673 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(d_LS_L_F_Parsch_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## LSL_AgeAtDeath_days ~ Population + (1 | Batch) + (1 | Population:Line) +  
##     (1 | Line:ReplicateVial)
##    Data: filter(d_LS_L_F, (Censor == "0") | (Supervisor.PI == "Parsch"))
## 
## REML criterion at convergence: 169796.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.5141 -0.5694  0.0877  0.6511  3.4519 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  Line:ReplicateVial (Intercept)  64.206   8.013  
##  Population:Line    (Intercept)  16.591   4.073  
##  Batch              (Intercept)   5.626   2.372  
##  Residual                       241.667  15.546  
## Number of obs: 20060, groups:  
## Line:ReplicateVial, 2032; Population:Line, 171; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)   47.5238     1.9832   2.0601  23.964 0.001493 ** 
## PopulationGI  -0.9367     1.6571 159.4727  -0.565 0.572691    
## PopulationKA   1.3602     1.5282 160.6589   0.890 0.374769    
## PopulationMA  -3.4793     1.5283 160.7044  -2.277 0.024131 *  
## PopulationMU  -1.5409     1.5283 160.7037  -1.008 0.314835    
## PopulationRE  -3.4747     1.6111 155.7849  -2.157 0.032562 *  
## PopulationUM  -5.6728     1.5662 158.5411  -3.622 0.000393 ***
## PopulationVA  -0.5013     1.5275 160.3622  -0.328 0.743217    
## PopulationYE  -2.9382     1.5283 160.7109  -1.923 0.056306 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.340                                                 
## PopulatinKA -0.369  0.441                                          
## PopulatinMA -0.369  0.441  0.479                                   
## PopulatinMU -0.369  0.441  0.479  0.479                            
## PopulatinRE -0.350  0.419  0.454  0.454  0.454                     
## PopulatinUM -0.360  0.431  0.467  0.467  0.467  0.443              
## PopulatinVA -0.369  0.442  0.479  0.479  0.479  0.454  0.467       
## PopulatinYE -0.369  0.441  0.479  0.479  0.479  0.454  0.467  0.479
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 0.0570562 (tol = 0.002, component 1)
d_LS_L_M_Parsch_lmer <- lmer(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                     (1|Line:ReplicateVial), data = filter(d_LS_L_M, (Censor == "0") | (Supervisor.PI == "Parsch")))
capture.output(summary(d_LS_L_M_Parsch_lmer),file = "Lifespan/d_LS_L_M_Parsch_lmer_sum.txt")
capture.output(anova(d_LS_L_M_Parsch_lmer),file = "Lifespan/d_LS_L_M_Parsch_lmer.txt")
#capture.output(emmeans(d_LS_L_F_Parsch_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_L_M_Parsch_lmer_tk.txt")
anova(d_LS_L_M_Parsch_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population  13006  1625.7     8 159.44   5.232 8.028e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(d_LS_L_M_Parsch_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## LSL_AgeAtDeath_days ~ Population + (1 | Batch) + (1 | Population:Line) +  
##     (1 | Line:ReplicateVial)
##    Data: filter(d_LS_L_M, (Censor == "0") | (Supervisor.PI == "Parsch"))
## 
## REML criterion at convergence: 171913.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7322 -0.5646  0.0600  0.6591  3.1226 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  Line:ReplicateVial (Intercept)  54.494   7.382  
##  Population:Line    (Intercept)  21.873   4.677  
##  Batch              (Intercept)   2.048   1.431  
##  Residual                       310.726  17.627  
## Number of obs: 19784, groups:  
## Line:ReplicateVial, 2031; Population:Line, 171; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)   52.4039     1.5414   4.9035  33.998 5.18e-07 ***
## PopulationGI  -4.7778     1.8223 160.9799  -2.622 0.009584 ** 
## PopulationKA   1.1110     1.6800 161.6111   0.661 0.509358    
## PopulationMA  -4.4167     1.6805 161.8005  -2.628 0.009407 ** 
## PopulationMU  -0.2243     1.6802 161.7073  -0.134 0.893952    
## PopulationRE  -4.6719     1.7743 157.6216  -2.633 0.009305 ** 
## PopulationUM  -5.6864     1.7232 159.9025  -3.300 0.001192 ** 
## PopulationVA  -0.8806     1.6795 161.4186  -0.524 0.600761    
## PopulationYE  -6.1986     1.6800 161.6150  -3.690 0.000306 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.481                                                 
## PopulatinKA -0.522  0.441                                          
## PopulatinMA -0.522  0.441  0.478                                   
## PopulatinMU -0.522  0.441  0.478  0.478                            
## PopulatinRE -0.494  0.418  0.453  0.453  0.453                     
## PopulatinUM -0.509  0.430  0.466  0.466  0.466  0.442              
## PopulatinVA -0.522  0.441  0.479  0.478  0.478  0.453  0.467       
## PopulatinYE -0.522  0.441  0.478  0.478  0.478  0.453  0.466  0.479

Pasyukova Lab

d_LS_L_F_Pasyukova_lmer <- lmer(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                        (1|Line:ReplicateVial), data = filter(d_LS_L_F, (Censor == "0") | (Supervisor.PI == "Pasyukova")))
capture.output(summary(d_LS_L_F_Pasyukova_lmer),file = "Lifespan/d_LS_L_F_Pasyukova_lmer_sum.txt")
capture.output(anova(d_LS_L_F_Pasyukova_lmer),file = "Lifespan/d_LS_L_F_Pasyukova_lmer.txt")
#capture.output(emmeans(d_LS_L_F_Pasyukova_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_L_F_Pasyukova_lmer_tk.txt")
anova(d_LS_L_F_Pasyukova_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 6712.4  839.05     8 157.04  3.7279 0.0005104 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(d_LS_L_F_Pasyukova_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## LSL_AgeAtDeath_days ~ Population + (1 | Batch) + (1 | Population:Line) +  
##     (1 | Line:ReplicateVial)
##    Data: filter(d_LS_L_F, (Censor == "0") | (Supervisor.PI == "Pasyukova"))
## 
## REML criterion at convergence: 155241.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8190 -0.5579  0.0823  0.6471  3.5974 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  Line:ReplicateVial (Intercept)  72.171   8.495  
##  Population:Line    (Intercept)  17.122   4.138  
##  Batch              (Intercept)   9.486   3.080  
##  Residual                       225.077  15.003  
## Number of obs: 18454, groups:  
## Line:ReplicateVial, 2031; Population:Line, 171; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)   48.3293     2.4331   1.5244  19.863 0.007994 ** 
## PopulationGI   0.1052     1.7035 159.0276   0.062 0.950855    
## PopulationKA   1.4014     1.5672 159.3333   0.894 0.372558    
## PopulationMA  -3.4992     1.5681 159.7340  -2.231 0.027042 *  
## PopulationMU  -1.5542     1.5672 159.3448  -0.992 0.322846    
## PopulationRE  -3.2554     1.6524 154.5120  -1.970 0.050611 .  
## PopulationUM  -5.7326     1.6065 157.3219  -3.568 0.000476 ***
## PopulationVA  -0.6143     1.5662 158.9060  -0.392 0.695420    
## PopulationYE  -3.0447     1.5677 159.5846  -1.942 0.053891 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.284                                                 
## PopulatinKA -0.308  0.440                                          
## PopulatinMA -0.308  0.440  0.478                                   
## PopulatinMU -0.308  0.440  0.479  0.478                            
## PopulatinRE -0.293  0.417  0.454  0.454  0.454                     
## PopulatinUM -0.301  0.429  0.467  0.467  0.467  0.443              
## PopulatinVA -0.308  0.440  0.479  0.479  0.479  0.454  0.467       
## PopulatinYE -0.308  0.440  0.478  0.478  0.478  0.454  0.467  0.479
d_LS_L_M_Pasyukova_lmer <- lmer(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                        (1|Line:ReplicateVial), data = filter(d_LS_L_M, (Censor == "0") | (Supervisor.PI == "Pasyukova")))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.0919725 (tol = 0.002, component 1)
capture.output(summary(d_LS_L_M_Pasyukova_lmer),file = "Lifespan/d_LS_L_M_Pasyukova_lmer_sum.txt")
capture.output(anova(d_LS_L_M_Pasyukova_lmer),file = "Lifespan/d_LS_L_M_Pasyukova_lmer.txt")
#capture.output(emmeans(d_LS_L_F_Pasyukova_lmer, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_L_M_Pasyukova_lmer_tk.txt")
anova(d_LS_L_M_Pasyukova_lmer)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population  11806  1475.7     8 158.94  4.9428 1.784e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(d_LS_L_M_Pasyukova_lmer)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## LSL_AgeAtDeath_days ~ Population + (1 | Batch) + (1 | Population:Line) +  
##     (1 | Line:ReplicateVial)
##    Data: filter(d_LS_L_M, (Censor == "0") | (Supervisor.PI == "Pasyukova"))
## 
## REML criterion at convergence: 158894.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8591 -0.5617  0.0592  0.6521  3.0622 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  Line:ReplicateVial (Intercept)  61.75    7.858  
##  Population:Line    (Intercept)  22.23    4.715  
##  Batch              (Intercept)   3.58    1.892  
##  Residual                       298.55   17.279  
## Number of obs: 18341, groups:  
## Line:ReplicateVial, 2031; Population:Line, 171; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)   53.2082     1.7870   2.6230  29.776 0.000216 ***
## PopulationGI  -4.0298     1.8616 161.3262  -2.165 0.031879 *  
## PopulationKA   1.0823     1.7114 160.9847   0.632 0.528007    
## PopulationMA  -4.6832     1.7117 161.0935  -2.736 0.006918 ** 
## PopulationMU  -0.3987     1.7109 160.7800  -0.233 0.816028    
## PopulationRE  -4.6312     1.8071 156.8274  -2.563 0.011326 *  
## PopulationUM  -5.5839     1.7557 159.3747  -3.180 0.001768 ** 
## PopulationVA  -0.9718     1.7110 160.8212  -0.568 0.570864    
## PopulationYE  -6.4442     1.7115 161.0280  -3.765 0.000233 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.421                                                 
## PopulatinKA -0.458  0.440                                          
## PopulatinMA -0.458  0.440  0.478                                   
## PopulatinMU -0.458  0.440  0.479  0.478                            
## PopulatinRE -0.434  0.416  0.453  0.453  0.453                     
## PopulatinUM -0.447  0.429  0.466  0.466  0.466  0.442              
## PopulatinVA -0.458  0.440  0.478  0.478  0.479  0.453  0.466       
## PopulatinYE -0.458  0.440  0.478  0.478  0.478  0.453  0.466  0.478
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 0.0919725 (tol = 0.002, component 1)

Survival Analyses

Flatt Lab

d_LS_P_F_Flatt_coxme <- coxme(LSP_AgeAtDeath_days ~ Population + (1|Population:ReplicateCage), data = filter(d_LS_P_F, (Censor == "0") | (Supervisor.PI == "Flatt")))
capture.output(summary(d_LS_P_F_Flatt_coxme),file = "Lifespan/d_LS_P_F_Flatt_coxme_sum.txt")
capture.output(anova(d_LS_P_F_Flatt_coxme),file = "Lifespan/d_LS_P_F_Flatt_coxme.txt")
#capture.output(emmeans(d_LS_P_F_Flatt_coxme, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_P_F_Flatt_coxme_tk.txt")
d_LS_P_M_Flatt_coxme <- coxme(LSP_AgeAtDeath_days ~ Population + (1|Population:ReplicateCage), data = filter(d_LS_P_M, (Censor == "0") | (Supervisor.PI == "Flatt")))
capture.output(summary(d_LS_P_M_Flatt_coxme),file = "Lifespan/d_LS_P_M_Flatt_coxme_sum.txt")
capture.output(anova(d_LS_P_M_Flatt_coxme),file = "Lifespan/d_LS_P_M_Flatt_coxme.txt")
#capture.output(emmeans(d_LS_P_F_Flatt_coxme, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_P_M_Flatt_coxme_tk.txt")

Parsch Lab

d_LS_L_F_Parsch_coxme <- coxme(LSL_AgeAtDeath_days, Censor ~ Population + (1|Batch) + (1|Line/Population) + 
                                       (1|Line:ReplicateVial), data = subset(d_LS_L_F,Supervisor.PI=='Parsch'))
capture.output(summary(d_LS_L_F_Parsch_coxme),file = "Lifespan/d_LS_L_F_Parsch_coxme_sum.txt")
capture.output(anova(d_LS_L_F_Parsch_coxme),file = "Lifespan/d_LS_L_F_Parsch_coxme.txt")
#capture.output(emmeans(d_LS_L_F_Parsch_coxme, list(pairwise ~ Population), adjust = "tukey"),file = "Lifespan/d_LS_L_F_Parsch_coxme_tk.txt")
d_LS_L_M_Parsch_coxme <- coxme(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                       (1|Line:ReplicateVial), data = data = subset(d_LS_L_M,Supervisor.PI=='Parsch'))
capture.output(summary(d_LS_L_M_Parsch_coxme),file = "Lifespan/d_LS_L_M_Parsch_coxme_sum.txt")
capture.output(anova(d_LS_L_M_Parsch_coxme),file = "Lifespan/d_LS_L_M_Parsch_coxme.txt")
#capture.output(emmeans(d_LS_L_M_Parsch_coxme, list(pairwise ~ Population), adjust = "tukey"),file = "Lifespam/d_LS_L_M_Parsch_coxme_tk.txt")

Pasyukova Lab

d_LS_L_F_Pasyukova_coxme <- coxme(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                          (1|Line:ReplicateVial), data = filter(d_LS_L_F, (Censor == "0") | (Supervisor.PI == "Pasyukova")))
capture.output(summary(d_LS_L_F_Pasyukova_coxme),file = "Lifespan/d_LS_L_F_Pasyukova_coxme_sum.txt")
capture.output(anova(d_LS_L_F_Pasyukova_coxme),file = "Lifespan/d_LS_L_F_Pasyukova_coxme.txt")
#capture.output(emmeans(d_LS_L_F_Pasyukova_coxme, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_L_F_Pasyukova_coxme_tk.txt")
d_LS_L_M_Pasyukova_coxme <- coxme(LSL_AgeAtDeath_days ~ Population + (1|Batch) + (1|Population:Line) + 
                                          (1|Line:ReplicateVial), data = filter(d_LS_L_M, (Censor == "0") | (Supervisor.PI == "Pasyukova")))
capture.output(summary(d_LS_L_M_Pasyukova_coxme),file = "Lifespan/d_LS_L_M_Pasyukova_coxme_sum.txt")
capture.output(anova(d_LS_L_M_Pasyukova_coxme),file = "Lifespan/d_LS_L_M_Pasyukova_coxme.txt")
#capture.output(emmeans(d_LS_L_F_Pasyukova_coxme, list(pairwise ~ Population), adjust = "tukey"),file = "d_LS_L_M_Pasyukova_coxme_tk.txt")

Lab correlations

intersect_LSL <- intersect(d_LSL$Line[d_LSL$Supervisor.PI == "Parsch"], 
                           d_LSL$d_LSL[d_Fec$Supervisor.PI == "Pasyukova"])
length(intersect_LSL)
write(intersect_LSL, file ="Lifespan/Lifespan/LSL_int.txt", sep = "\t")

Cold-shock mortality

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Gonzalez Lab : Llewellyn Green, Josefa Gonzalez, Miriam Merenciano

Kozeretska Lab : Svitlana Serga, Alexandra Protsenko, Oleksandr Maistrenko, Iryna Kozeretska

Vieira Lab : Jorge Vieira, Cristina P. Vieira, Pedro Duque, Tânia Dias

Data Reformatting

d_CSM <- read.csv("MasterSheets_Oct21_git/CSM_MasterSheet_Oct21.csv")
str(d_CSM)
## 'data.frame':    2584 obs. of  16 variables:
##  $ Supervisor.PI   : chr  "Gonzalez" "Gonzalez" "Gonzalez" "Gonzalez" ...
##  $ Diet            : chr  "S" "S" "S" "S" ...
##  $ Batch           : int  1 2 3 1 3 4 1 2 3 1 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : chr  "AK1" "AK1" "AK1" "AK10" ...
##  $ Sex             : chr  "M" "M" "M" "M" ...
##  $ ReplicateVialOld: int  1 2 3 1 2 3 1 2 3 1 ...
##  $ ReplicateVial   : chr  "Gonzalez_1_AK1_M_1" "Gonzalez_2_AK1_M_2" "Gonzalez_3_AK1_M_3" "Gonzalez_1_AK10_M_1" ...
##  $ Total           : int  20 19 18 20 20 20 16 20 18 16 ...
##  $ Dead            : int  14 11 3 16 4 11 8 17 4 16 ...
##  $ CSM_PropDead    : num  70 57.9 16.7 80 20 55 50 85 22.2 100 ...
##  $ CSM_PropDead_ED : num  0.7 0.579 0.167 0.8 0.2 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
d_CSM$Supervisor.PI <- as.factor(d_CSM$Supervisor.PI)
d_CSM$Diet <- as.factor(d_CSM$Diet)
d_CSM$Batch <- as.factor(d_CSM$Batch)
d_CSM$Population_Lat <- factor(d_CSM$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_CSM$Population_Lon <- factor(d_CSM$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_CSM$Population_Alt <- factor(d_CSM$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_CSM$Line <- as.factor(d_CSM$Line)
d_CSM$Sex <- as.factor(d_CSM$Sex)
d_CSM$ReplicateVial <- as.factor(d_CSM$ReplicateVial)
d_CSM$CSM_PropDead_ED <- as.numeric(d_CSM$CSM_PropDead_ED)
str(d_CSM)
## 'data.frame':    2584 obs. of  19 variables:
##  $ Supervisor.PI   : Factor w/ 3 levels "Gonzalez","Kozeretska",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet            : Factor w/ 2 levels "NS","S": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Batch           : Factor w/ 32 levels "1","2","3","4",..: 1 2 3 1 3 4 1 2 3 1 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : Factor w/ 172 levels "AK1","AK10","AK11",..: 1 1 1 2 2 2 3 3 3 4 ...
##  $ Sex             : Factor w/ 2 levels "F","M": 2 2 2 2 2 2 2 2 2 2 ...
##  $ ReplicateVialOld: int  1 2 3 1 2 3 1 2 3 1 ...
##  $ ReplicateVial   : Factor w/ 2584 levels "Gonzalez_1_AK1_F_1",..: 2 152 342 4 344 584 6 154 346 8 ...
##  $ Total           : int  20 19 18 20 20 20 16 20 18 16 ...
##  $ Dead            : int  14 11 3 16 4 11 8 17 4 16 ...
##  $ CSM_PropDead    : num  70 57.9 16.7 80 20 55 50 85 22.2 100 ...
##  $ CSM_PropDead_ED : num  0.7 0.579 0.167 0.8 0.2 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_CSM_F <-subset(d_CSM,Sex=='F')
d_CSM_M <-subset(d_CSM,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

table_CSM_Line_wbatch <- write.csv(d_CSM %>% group_by(Supervisor.PI, Batch, Sex,Population, Line) %>% 
                                   summarise_at(vars(CSM_PropDead_ED), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "ColdShock/table_CSM_Line_wbatch.csv", row.names = T)
table_CSM_Line_wbatch <- read.csv("ColdShock/table_CSM_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_CSM_Line_wobatch <- write.csv(d_CSM %>% group_by(Supervisor.PI, Sex,Population, Line) %>% 
                                   summarise_at(vars(CSM_PropDead_ED), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "ColdShock/table_CSM_Line_wobatch.csv", row.names = T)
table_CSM_Line_wobatch <- read.csv("ColdShock/table_CSM_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_CSM_Pop_wbatch <- write.csv(d_CSM %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                  summarise_at(vars(CSM_PropDead_ED), 
                                               list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                    SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                          file = "ColdShock/table_CSM_Pop_wbatch.csv", row.names = T)

table_CSM_Pop_wbatch <- read.csv("ColdShock/table_CSM_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_CSM_Pop_wobatch <- write.csv(d_CSM %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                  summarise_at(vars(CSM_PropDead_ED), 
                                               list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                    SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                          file = "ColdShock/table_CSM_Pop_wobatch.csv", row.names = T)

table_CSM_Pop_wobatch <- read.csv("ColdShock/table_CSM_Pop_wobatch.csv")

Plots and Linear Models by Lab

Gonzalez Lab

CSM_F_lmer_Gonzalez <- lmer(CSM_PropDead_ED ~ Population  + (1| Line : Population) +
                           (1|Batch), data = d_CSM_F[d_CSM_F$Supervisor.PI == "Gonzalez",])
capture.output(summary(CSM_F_lmer_Gonzalez),file = "ColdShock/CSM_F_lmer_sum_Gonzalez.txt")
capture.output(anova(CSM_F_lmer_Gonzalez),file = "ColdShock/CSM_F_lmer_Gonzalez.txt")
#capture.output(emmeans(CSM_F_lmer_Gonzalez, list(pairwise ~ Population), adjust = "tukey"),file = "ColdShock/CSM_F_lmer_Gonzalez_tk.txt")
anova(CSM_F_lmer_Gonzalez)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value  Pr(>F)  
## Population 0.23689 0.029611     8 147.79  2.0838 0.04081 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(CSM_F_lmer_Gonzalez)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CSM_PropDead_ED ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_CSM_F[d_CSM_F$Supervisor.PI == "Gonzalez", ]
## 
## REML criterion at convergence: -520.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.5262 -0.3749  0.0953  0.5610  2.1847 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.009816 0.09908 
##  Batch           (Intercept) 0.004154 0.06446 
##  Residual                    0.014210 0.11921 
## Number of obs: 544, groups:  Line:Population, 160; Batch, 9
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)    0.90153    0.03466  38.43318  26.012  < 2e-16 ***
## PopulationGI  -0.12282    0.04078 149.17844  -3.012  0.00305 ** 
## PopulationKA  -0.04468    0.04032 141.60280  -1.108  0.26970    
## PopulationMA  -0.04930    0.03770 147.58260  -1.308  0.19306    
## PopulationMU  -0.01935    0.03769 147.49918  -0.513  0.60843    
## PopulationRE  -0.06020    0.03988 144.99929  -1.509  0.13338    
## PopulationUM  -0.12161    0.04146 145.85344  -2.933  0.00390 ** 
## PopulationVA  -0.06774    0.03750 144.50600  -1.806  0.07295 .  
## PopulationYE  -0.02716    0.03757 144.25475  -0.723  0.47085    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.492                                                 
## PopulatinKA -0.503  0.425                                          
## PopulatinMA -0.541  0.454  0.461                                   
## PopulatinMU -0.535  0.454  0.460  0.492                            
## PopulatinRE -0.520  0.430  0.438  0.469  0.465                     
## PopulatinUM -0.488  0.413  0.418  0.448  0.446  0.424              
## PopulatinVA -0.533  0.456  0.460  0.491  0.493  0.464  0.447       
## PopulatinYE -0.549  0.456  0.466  0.498  0.494  0.476  0.451  0.493
CSM_M_lmer_Gonzalez <- lmer(CSM_PropDead_ED ~ Population  + (1| Line : Population) +
                                    (1|Batch), data = d_CSM_M[d_CSM_M$Supervisor.PI == "Gonzalez",])
capture.output(summary(CSM_M_lmer_Gonzalez),file = "ColdShock/CSM_M_lmer_sum_Gonzalez.txt")
capture.output(anova(CSM_M_lmer_Gonzalez),file = "ColdShock/CSM_M_lmer_Gonzalez.txt")
#capture.output(emmeans(CSM_M_lmer_Gonzalez, list(pairwise ~ Population), adjust = "tukey"),file = "ColdShock/CSM_M_lmer_Gonzalez_tk.txt")
anova(CSM_M_lmer_Gonzalez)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value  Pr(>F)  
## Population 0.45071 0.056339     8 147.45  1.8358 0.07473 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(CSM_M_lmer_Gonzalez)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CSM_PropDead_ED ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_CSM_M[d_CSM_M$Supervisor.PI == "Gonzalez", ]
## 
## REML criterion at convergence: -119.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2121 -0.6190  0.0413  0.5522  2.3695 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.01754  0.1324  
##  Batch           (Intercept) 0.02650  0.1628  
##  Residual                    0.03069  0.1752  
## Number of obs: 544, groups:  Line:Population, 160; Batch, 9
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)    0.58500    0.06612  16.18080   8.848 1.34e-07 ***
## PopulationGI   0.05231    0.05625 149.24556   0.930   0.3540    
## PopulationKA   0.07690    0.05552 140.38031   1.385   0.1682    
## PopulationMA   0.02889    0.05199 147.22136   0.556   0.5793    
## PopulationMU   0.01273    0.05197 147.11973   0.245   0.8068    
## PopulationRE   0.01281    0.05499 144.17279   0.233   0.8161    
## PopulationUM  -0.04735    0.05715 145.02817  -0.828   0.4088    
## PopulationVA  -0.02483    0.05167 143.68168  -0.481   0.6315    
## PopulationYE   0.12631    0.05178 143.21949   2.439   0.0159 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.354                                                 
## PopulatinKA -0.363  0.425                                          
## PopulatinMA -0.390  0.453  0.461                                   
## PopulatinMU -0.386  0.453  0.459  0.490                            
## PopulatinRE -0.378  0.428  0.438  0.469  0.464                     
## PopulatinUM -0.352  0.412  0.418  0.447  0.445  0.424              
## PopulatinVA -0.384  0.455  0.460  0.490  0.492  0.463  0.447       
## PopulatinYE -0.397  0.455  0.466  0.498  0.493  0.477  0.450  0.491

Kozeretska Lab

CSM_F_lmer_Kozeretska <- lmer(CSM_PropDead_ED ~ Population  + (1| Line : Population) +
                                      (1|Batch), data = d_CSM_F[d_CSM_F$Supervisor.PI == "Kozeretska",])
capture.output(summary(CSM_F_lmer_Kozeretska),file = "ColdShock/CSM_F_lmer_sum_Kozeretska.txt")
capture.output(anova(CSM_F_lmer_Kozeretska),file = "ColdShock/CSM_F_lmer_Kozeretska.txt")
#capture.output(emmeans(CSM_F_lmer_Kozeretska, list(pairwise ~ Population), adjust = "tukey"),file = "ColdShock/CSM_F_lmer_Kozeretska_tk.txt")
anova(CSM_F_lmer_Kozeretska)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value Pr(>F)
## Population 0.30955 0.038693     8 113.18  0.4975 0.8558
summary(CSM_F_lmer_Kozeretska)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CSM_PropDead_ED ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_CSM_F[d_CSM_F$Supervisor.PI == "Kozeretska", ]
## 
## REML criterion at convergence: 134
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.6679 -0.7659 -0.1923  0.7403  2.0452 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.01410  0.1188  
##  Batch           (Intercept) 0.01886  0.1373  
##  Residual                    0.07777  0.2789  
## Number of obs: 244, groups:  Line:Population, 130; Batch, 2
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)  
## (Intercept)    0.58276    0.11263   1.58331   5.174   0.0563 .
## PopulationGI  -0.06492    0.09797 120.33320  -0.663   0.5088  
## PopulationKA  -0.13000    0.08839 114.46395  -1.471   0.1441  
## PopulationMA  -0.10369    0.08107 119.36555  -1.279   0.2034  
## PopulationMU  -0.05787    0.07982 116.67071  -0.725   0.4700  
## PopulationRE  -0.08293    0.08718 106.93238  -0.951   0.3437  
## PopulationUM  -0.14921    0.08915 109.14620  -1.674   0.0971 .
## PopulationVA  -0.07710    0.07664 111.92883  -1.006   0.3166  
## PopulationYE  -0.06517    0.08594 123.29459  -0.758   0.4497  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.284                                                 
## PopulatinKA -0.326  0.362                                          
## PopulatinMA -0.333  0.386  0.425                                   
## PopulatinMU -0.337  0.392  0.430  0.477                            
## PopulatinRE -0.321  0.363  0.409  0.433  0.440                     
## PopulatinUM -0.303  0.351  0.387  0.427  0.434  0.394              
## PopulatinVA -0.346  0.406  0.441  0.499  0.507  0.455  0.453       
## PopulatinYE -0.317  0.365  0.404  0.442  0.449  0.410  0.402  0.468
CSM_M_lmer_Kozeretska <- lmer(CSM_PropDead_ED ~ Population  + (1| Line : Population) +
                                      (1|Batch), data = d_CSM_M[d_CSM_M$Supervisor.PI == "Kozeretska",])
capture.output(summary(CSM_M_lmer_Kozeretska),file = "ColdShock/CSM_M_lmer_sum_Kozeretska.txt")
capture.output(anova(CSM_M_lmer_Kozeretska),file = "ColdShock/CSM_M_lmer_Kozeretska.txt")
#capture.output(emmeans(CSM_M_lmer_Kozeretska, list(pairwise ~ Population), adjust = "tukey"),file = "CSM_M_tk_Kozeretska_tk.txt")
anova(CSM_M_lmer_Kozeretska)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value Pr(>F)
## Population 0.52668 0.065835     8 114.74  0.8529 0.5585
summary(CSM_M_lmer_Kozeretska)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CSM_PropDead_ED ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_CSM_M[d_CSM_M$Supervisor.PI == "Kozeretska", ]
## 
## REML criterion at convergence: 108.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.3573 -0.7476  0.1784  0.7742  1.5219 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.003936 0.06274 
##  Batch           (Intercept) 0.017486 0.13223 
##  Residual                    0.077193 0.27784 
## Number of obs: 244, groups:  Line:Population, 130; Batch, 2
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)  
## (Intercept)    0.76407    0.10668   1.50152   7.162   0.0387 *
## PopulationGI   0.02893    0.08827 123.33258   0.328   0.7437  
## PopulationKA  -0.10959    0.07942 116.77355  -1.380   0.1703  
## PopulationMA  -0.02985    0.07299 120.50472  -0.409   0.6833  
## PopulationMU  -0.09846    0.07180 119.30488  -1.371   0.1729  
## PopulationRE  -0.07765    0.07801 105.51912  -0.995   0.3218  
## PopulationUM  -0.11025    0.07988 109.55346  -1.380   0.1703  
## PopulationVA  -0.06824    0.06878 113.61658  -0.992   0.3232  
## PopulationYE   0.01905    0.07753 126.28816   0.246   0.8063  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.270                                                 
## PopulatinKA -0.310  0.362                                          
## PopulatinMA -0.316  0.385  0.425                                   
## PopulatinMU -0.320  0.391  0.431  0.478                            
## PopulatinRE -0.306  0.365  0.411  0.436  0.442                     
## PopulatinUM -0.289  0.352  0.389  0.429  0.436  0.398              
## PopulatinVA -0.328  0.407  0.442  0.501  0.510  0.459  0.457       
## PopulatinYE -0.300  0.364  0.403  0.441  0.449  0.412  0.403  0.469

Vieira Lab

CSM_F_lmer_Vieira <- lmer(CSM_PropDead_ED ~ Population  + (1| Line : Population) +
                                  (1|Batch), data = d_CSM_F[d_CSM_F$Supervisor.PI == "Vieira",])
capture.output(summary(CSM_F_lmer_Vieira),file = "ColdShock/CSM_F_lmer_sum_Vieira.txt")
capture.output(anova(CSM_F_lmer_Vieira),file = "ColdShock/CSM_F_lmer_Vieira.txt")
#capture.output(emmeans(CSM_F_lmer_Vieira, list(pairwise ~ Population), adjust = "tukey"),file = "ColdShock/CSM_F_lmer_Vieira_tk.txt")
anova(CSM_F_lmer_Vieira)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value Pr(>F)
## Population 0.13498 0.016873     8 30.916  1.4465 0.2172
summary(CSM_F_lmer_Vieira)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CSM_PropDead_ED ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_CSM_F[d_CSM_F$Supervisor.PI == "Vieira", ]
## 
## REML criterion at convergence: -527.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.4994 -0.3263  0.1582  0.4377  2.3707 
## 
## Random effects:
##  Groups          Name        Variance  Std.Dev.
##  Line:Population (Intercept) 0.0125606 0.11207 
##  Batch           (Intercept) 0.0008187 0.02861 
##  Residual                    0.0116647 0.10800 
## Number of obs: 504, groups:  Line:Population, 168; Batch, 32
## 
## Fixed effects:
##               Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)   0.859730   0.030815 43.392191  27.899   <2e-16 ***
## PopulationGI -0.009810   0.047842 94.888362  -0.205    0.838    
## PopulationKA  0.033945   0.043920 36.325247   0.773    0.445    
## PopulationMA  0.002541   0.044168 30.711068   0.058    0.954    
## PopulationMU  0.019576   0.042661 90.161392   0.459    0.647    
## PopulationRE  0.002250   0.047249 25.432472   0.048    0.962    
## PopulationUM -0.070509   0.043897 53.189794  -1.606    0.114    
## PopulationVA  0.072500   0.044440 27.923833   1.631    0.114    
## PopulationYE  0.018349   0.044468 27.328834   0.413    0.683    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.615                                                 
## PopulatinKA -0.701  0.432                                          
## PopulatinMA -0.698  0.429  0.493                                   
## PopulatinMU -0.672  0.432  0.472  0.469                            
## PopulatinRE -0.652  0.401  0.463  0.455  0.438                     
## PopulatinUM -0.691  0.434  0.502  0.482  0.484  0.451              
## PopulatinVA -0.693  0.426  0.486  0.484  0.466  0.452  0.479       
## PopulatinYE -0.693  0.426  0.486  0.489  0.465  0.452  0.479  0.520
CSM_M_lmer_Vieira <- lmer(CSM_PropDead_ED ~ Population  + (1| Line : Population) +
                                  (1|Batch), data = d_CSM_M[d_CSM_M$Supervisor.PI == "Vieira",])
capture.output(summary(CSM_M_lmer_Vieira),file = "ColdShock/CSM_M_lmer_sum_Vieira.txt")
capture.output(anova(CSM_M_lmer_Vieira),file = "ColdShock/CSM_M_lmer_Vieira.txt")
#capture.output(emmeans(CSM_M_lmer_Vieira, list(pairwise ~ Population), adjust = "tukey"),file = "ColdShock/CSM_M_lmer_Vieira_tk.txt")
anova(CSM_M_lmer_Vieira)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq  Mean Sq NumDF  DenDF F value  Pr(>F)  
## Population 0.31129 0.038912     8 51.605  2.1142 0.05102 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(CSM_M_lmer_Vieira)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CSM_PropDead_ED ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_CSM_M[d_CSM_M$Supervisor.PI == "Vieira", ]
## 
## REML criterion at convergence: -249.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8114 -0.3899  0.1187  0.4494  2.5947 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 0.027998 0.16733 
##  Batch           (Intercept) 0.005384 0.07337 
##  Residual                    0.018405 0.13566 
## Number of obs: 504, groups:  Line:Population, 168; Batch, 32
## 
## Fixed effects:
##                Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)    0.717551   0.049687  62.484301  14.441   <2e-16 ***
## PopulationGI   0.005439   0.073751 124.585541   0.074   0.9413    
## PopulationKA   0.024691   0.071374  58.264790   0.346   0.7306    
## PopulationMA   0.001692   0.072727  46.993656   0.023   0.9815    
## PopulationMU   0.154976   0.065589 135.066654   2.363   0.0196 *  
## PopulationRE   0.049788   0.078771  40.049612   0.632   0.5309    
## PopulationUM  -0.037832   0.069683  83.749661  -0.543   0.5886    
## PopulationVA   0.067337   0.073429  45.986616   0.917   0.3639    
## PopulationYE   0.181045   0.073537  46.164855   2.462   0.0176 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.590                                                 
## PopulatinKA -0.693  0.411                                          
## PopulatinMA -0.683  0.403  0.486                                   
## PopulatinMU -0.621  0.416  0.435  0.424                            
## PopulatinRE -0.631  0.372  0.455  0.431  0.392                     
## PopulatinUM -0.679  0.425  0.516  0.465  0.473  0.430              
## PopulatinVA -0.677  0.399  0.469  0.465  0.420  0.427  0.459       
## PopulatinYE -0.676  0.399  0.469  0.478  0.420  0.426  0.459  0.561

Lab correlations

intersect_CSM  <- Reduce(intersect, list(d_CSM$Line[d_CSM$Supervisor.PI == "Gonzalez"],d_CSM$Line[d_CSM$Supervisor.PI == "Vieira"],d_CSM$Line[d_CSM$Supervisor.PI == "Kozeretska"]))
length(intersect_CSM)
## [1] 126
write(intersect_CSM, file ="ColdShock/CSM_int.txt", sep = "\t")

Chill-coma recovery time

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Mensh Lab : Julian Mensh

Vieira Lab : Jorge Vieira, Cristina P. Vieira, Pedro Duque, Tânia Dias

Data Reformatting

d_CCRT <- read.csv("MasterSheets_Oct21_git/CCRT_MasterSheet_Oct21.csv")
str(d_CCRT)
## 'data.frame':    2016 obs. of  15 variables:
##  $ Supervisor.PI   : chr  "Vieira" "Vieira" "Vieira" "Vieira" ...
##  $ Diet            : chr  "S" "S" "S" "S" ...
##  $ Batch           : int  4 4 4 4 4 4 4 4 4 4 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex             : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Vieira_4_AK1_F_1" "Vieira_4_AK1_F_1" "Vieira_4_AK1_F_1" "Vieira_4_AK1_F_1" ...
##  $ Individual      : int  1 2 3 4 5 6 1 2 3 4 ...
##  $ CCRT_seconds    : int  2381 1902 1847 1640 2202 1444 1550 1900 1505 1524 ...
##  $ Censor          : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
d_CCRT$Supervisor.PI <- as.factor(d_CCRT$Supervisor.PI)
d_CCRT$Diet <- as.factor(d_CCRT$Diet)
d_CCRT$Batch <- as.factor(d_CCRT$Batch)
d_CCRT$Population_Lat <- factor(d_CCRT$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_CCRT$Population_Lon <- factor(d_CCRT$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_CCRT$Population_Alt <- factor(d_CCRT$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_CCRT$Line <- as.factor(d_CCRT$Line)
d_CCRT$Sex <- as.factor(d_CCRT$Sex)
d_CCRT$ReplicateVial <- as.factor(d_CCRT$ReplicateVial)
d_CCRT$CCRT_seconds <- as.numeric(d_CCRT$CCRT_seconds)
d_CCRT$Censor <- as.numeric(d_CCRT$Censor)
str(d_CCRT)
## 'data.frame':    2016 obs. of  18 variables:
##  $ Supervisor.PI   : Factor w/ 1 level "Vieira": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet            : Factor w/ 1 level "S": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch           : Factor w/ 27 levels "1","2","3","4",..: 4 4 4 4 4 4 4 4 4 4 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : Factor w/ 168 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex             : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 2 2 2 2 ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : Factor w/ 336 levels "Vieira_1_UM13_F_1",..: 235 235 235 235 235 235 236 236 236 236 ...
##  $ Individual      : int  1 2 3 4 5 6 1 2 3 4 ...
##  $ CCRT_seconds    : num  2381 1902 1847 1640 2202 ...
##  $ Censor          : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_CCRT_F <-subset(d_CCRT,Sex=='F')
d_CCRT_M <-subset(d_CCRT,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

table_CCRT_Line_wbatch <- write.csv(d_CCRT %>% group_by(Supervisor.PI, Batch, Sex,Population, Line) %>% 
                                    summarise_at(vars(CCRT_seconds), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "ChillComa/table_CCRT_Line_wbatch.csv", row.names = T)

table_CCRT_Line_wbatch <- read.csv("ChillComa/table_CCRT_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_CCRT_Line_wobatch <- write.csv(d_CCRT %>% group_by(Supervisor.PI, Sex,Population, Line) %>% 
                                    summarise_at(vars(CCRT_seconds), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "ChillComa/table_CCRT_Line_wobatch.csv", row.names = T)

table_CCRT_Line_wobatch <- read.csv("ChillComa/table_CCRT_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_CCRT_pop_wbatch <- write.csv(d_CCRT %>% group_by(Supervisor.PI, Batch, Sex,Population) %>% 
                                    summarise_at(vars(CCRT_seconds), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "ChillComa/table_CCRT_pop_wbatch.csv", row.names = T)

table_CCRT_pop_wbatch <- read.csv("ChillComa/table_CCRT_pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_CCRT_pop_wobatch <- write.csv(d_CCRT %>% group_by(Supervisor.PI, Sex,Population) %>% 
                                    summarise_at(vars(CCRT_seconds), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "ChillComa/table_CCRT_pop_wobatch.csv", row.names = T)

table_CCRT_pop_wobatch <- read.csv("ChillComa/table_CCRT_pop_wobatch.csv")

Plots and Linear Models by Lab

Vieira Lab

data = filter(d_CCRT_F, (Censor == “0”) | (Supervisor.PI == “Vieira”)))

CCRT_F_lmer_Vieira <- lmer(CCRT_seconds ~ Population + (1|Population:Line) + (1|Batch) +
                            (1|ReplicateVial:Line), 
                            data = filter(d_CCRT_F, (Censor == "0") | (Supervisor.PI == "Vieira")))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
## Warning: Model failed to converge with 1 negative eigenvalue: -2.2e-02
capture.output(summary(CCRT_F_lmer_Vieira),file = "ChillComa/CCRT_F_lmer_Vieira_sum.txt")
capture.output(anova(CCRT_F_lmer_Vieira),file = "ChillComa/CCRT_F_lmer_Vieira.txt")
#capture.output(emmeans(CCRT_F_lmer_Vieira, list(pairwise ~ Population), adjust = "tukey"),file = "ChillComa/CCRT_F_lmer_Vieira_tk.txt")
anova(CCRT_F_lmer_Vieira)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value  Pr(>F)  
## Population 5504559  688070     8 41.762  2.8803 0.01198 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(CCRT_F_lmer_Vieira)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CCRT_seconds ~ Population + (1 | Population:Line) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: filter(d_CCRT_F, (Censor == "0") | (Supervisor.PI == "Vieira"))
## 
## REML criterion at convergence: 15357.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.8597 -0.5558 -0.1721  0.3005  4.3652 
## 
## Random effects:
##  Groups             Name        Variance Std.Dev.
##  ReplicateVial:Line (Intercept)  31626   177.84  
##  Population:Line    (Intercept)   3172    56.32  
##  Batch              (Intercept)   6823    82.60  
##  Residual                       238889   488.76  
## Number of obs: 1008, groups:  
## ReplicateVial:Line, 168; Population:Line, 168; Batch, 27
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   1654.19      72.03   38.29  22.965  < 2e-16 ***
## PopulationGI  -142.88     100.14  158.06  -1.427  0.15561    
## PopulationKA  -184.35     101.07   40.50  -1.824  0.07554 .  
## PopulationMA  -329.93     103.70   30.21  -3.181  0.00338 ** 
## PopulationMU  -130.27     105.50   29.24  -1.235  0.22677    
## PopulationRE  -186.69      99.14  120.73  -1.883  0.06210 .  
## PopulationUM    86.73     102.75   43.89   0.844  0.40323    
## PopulationVA  -237.03     103.06   34.18  -2.300  0.02768 *  
## PopulationYE  -173.19     101.45   37.45  -1.707  0.09609 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.550                                                 
## PopulatinKA -0.712  0.392                                          
## PopulatinMA -0.695  0.382  0.508                                   
## PopulatinMU -0.675  0.403  0.481  0.469                            
## PopulatinRE -0.646  0.377  0.462  0.449  0.438                     
## PopulatinUM -0.694  0.389  0.520  0.483  0.481  0.487              
## PopulatinVA -0.699  0.384  0.498  0.485  0.472  0.452  0.485       
## PopulatinYE -0.710  0.390  0.506  0.493  0.479  0.459  0.493  0.592
## optimizer (nloptwrap) convergence code: 0 (OK)
## unable to evaluate scaled gradient
## Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
CCRT_M_lmer_Vieira <- lmer(CCRT_seconds ~ Population + (1|Population:Line) + (1|Batch) +
                            (1|ReplicateVial:Line),  data = filter(d_CCRT_M, (Censor == "0") | (Supervisor.PI == "Vieira")))
## boundary (singular) fit: see ?isSingular
## Warning: Model failed to converge with 1 negative eigenvalue: -2.2e-03
capture.output(summary(CCRT_M_lmer_Vieira),file = "ChillComa/CCRT_M_lmer_Vieira_sum.txt")
capture.output(anova(CCRT_M_lmer_Vieira),file = "ChillComa/CCRT_M_lmer_Vieira.txt")
#capture.output(emmeans(CCRT_M_lmer_Vieira, list(pairwise ~ Population), adjust = "tukey"),file = "ChillComa/CCRT_M_lmer_Vieira_tk.txt")
anova(CCRT_M_lmer_Vieira)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF DenDF F value    Pr(>F)    
## Population 7155985  894498     8   159  4.1809 0.0001454 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(CCRT_M_lmer_Vieira)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CCRT_seconds ~ Population + (1 | Population:Line) + (1 | Batch) +  
##     (1 | ReplicateVial:Line)
##    Data: filter(d_CCRT_M, (Censor == "0") | (Supervisor.PI == "Vieira"))
## 
## REML criterion at convergence: 15275.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.9769 -0.5353 -0.1625  0.2902  4.5807 
## 
## Random effects:
##  Groups             Name        Variance  Std.Dev.
##  ReplicateVial:Line (Intercept)  48520.65 220.27  
##  Population:Line    (Intercept)     61.94   7.87  
##  Batch              (Intercept)      0.00   0.00  
##  Residual                       213951.15 462.55  
## Number of obs: 1008, groups:  
## ReplicateVial:Line, 168; Population:Line, 168; Batch, 27
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   1563.51      64.90  159.00  24.091  < 2e-16 ***
## PopulationGI   281.35     103.40  159.00   2.721  0.00724 ** 
## PopulationKA   -48.44      91.78  159.00  -0.528  0.59838    
## PopulationMA  -214.19      91.78  159.00  -2.334  0.02086 *  
## PopulationMU   130.90      91.78  159.00   1.426  0.15577    
## PopulationRE    20.89      97.35  159.00   0.215  0.83039    
## PopulationUM    49.11      92.98  159.00   0.528  0.59816    
## PopulationVA   -24.72      91.78  159.00  -0.269  0.78805    
## PopulationYE   169.83      91.78  159.00   1.850  0.06613 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.628                                                 
## PopulatinKA -0.707  0.444                                          
## PopulatinMA -0.707  0.444  0.500                                   
## PopulatinMU -0.707  0.444  0.500  0.500                            
## PopulatinRE -0.667  0.418  0.471  0.471  0.471                     
## PopulatinUM -0.698  0.438  0.494  0.494  0.494  0.465              
## PopulatinVA -0.707  0.444  0.500  0.500  0.500  0.471  0.494       
## PopulatinYE -0.707  0.444  0.500  0.500  0.500  0.471  0.494  0.500
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular

Mensh Lab

Lab correlations

NA

Heat-shock mortality

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Parsch Lab : Eliza Argyridou, Amanda Glaser-Schmitt, John Parsch

Vieira Lab : Jorge Vieira, Cristina P. Vieira, Pedro Duque, Tânia Dias

Data Reformatting

d_HSM <- read.csv("MasterSheets_Oct21_git/HSM_MasterSheet_Oct21.csv")
str(d_HSM)
## 'data.frame':    31244 obs. of  15 variables:
##  $ Supervisor.PI   : chr  "Vieira" "Vieira" "Vieira" "Vieira" ...
##  $ Diet            : chr  "S" "S" "S" "S" ...
##  $ Batch           : int  5 5 5 5 5 5 5 5 5 5 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex             : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Vieira_5_AK1_F_1" "Vieira_5_AK1_F_1" "Vieira_5_AK1_F_1" "Vieira_5_AK1_F_1" ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ TimeDeath_min   : int  240 240 300 300 300 330 360 360 360 390 ...
##  $ Censor          : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
d_HSM$Supervisor.PI <- as.factor(d_HSM$Supervisor.PI)
d_HSM$Diet <- as.factor(d_HSM$Diet)
d_HSM$Batch <- as.factor(d_HSM$Batch)
d_HSM$Population_Lat <- factor(d_HSM$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_HSM$Population_Lon <- factor(d_HSM$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_HSM$Population_Alt <- factor(d_HSM$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_HSM$Line <- as.factor(d_HSM$Line)
d_HSM$Sex <- as.factor(d_HSM$Sex)
d_HSM$ReplicateVial <- as.factor(d_HSM$ReplicateVial)
d_HSM$TimeDeath_min <- as.numeric(d_HSM$TimeDeath_min)
d_HSM$Censor <- as.numeric(d_HSM$Censor)
str(d_HSM)
## 'data.frame':    31244 obs. of  18 variables:
##  $ Supervisor.PI   : Factor w/ 2 levels "Parsch","Vieira": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Diet            : Factor w/ 2 levels "NS","S": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Batch           : Factor w/ 32 levels "1","2","3","4",..: 5 5 5 5 5 5 5 5 5 5 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : Factor w/ 171 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex             : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : Factor w/ 1816 levels "Parsch_1_AK1_F_1",..: 1691 1691 1691 1691 1691 1691 1691 1691 1691 1691 ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ TimeDeath_min   : num  240 240 300 300 300 330 360 360 360 390 ...
##  $ Censor          : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_HSM_F <-subset(d_HSM,Sex=='F')
d_HSM_M <-subset(d_HSM,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

table_HSM_Line_wbatch <- write.csv(d_HSM %>% group_by(Supervisor.PI, Batch, Sex,Population, Line) %>% 
                                    summarise_at(vars(TimeDeath_min), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "HeatShock/table_HSM_Line_wbatch.csv", row.names = T)
table_HSM_Line_wbatch <- read.csv("HeatShock/table_HSM_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_HSM_Line_wobatch <- write.csv(d_HSM %>% group_by(Supervisor.PI, Sex,Population, Line) %>% 
                                    summarise_at(vars(TimeDeath_min), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "HeatShock/table_HSM_Line_wobatch.csv", row.names = T)
table_HSM_Line_wobatch <- read.csv("HeatShock/table_HSM_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_HSM_Pop_wbatch <- write.csv(d_HSM %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                   summarise_at(vars(TimeDeath_min), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "HeatShock/table_HSM_Pop_wbatch.csv", row.names = T)

table_HSM_Pop_wbatch <- read.csv("HeatShock/table_HSM_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_HSM_Pop_wobatch <- write.csv(d_HSM %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                   summarise_at(vars(TimeDeath_min), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "HeatShock/table_HSM_Pop_wobatch.csv", row.names = T)
table_HSM_Pop_wobatch <- read.csv("HeatShock/table_HSM_Pop_wobatch.csv")

Plots and Linear Models by Lab

Parsch Lab

HSM_F_lmer_Parsch <- lmer(TimeDeath_min ~ Population  + (1| Line : Population) +
                                  (1|Batch), data = d_HSM_F[d_HSM_F$Supervisor.PI == "Parsch",])
capture.output(summary(HSM_F_lmer_Parsch),file = "HeatShock/HSM_F_lmer_sum_Parsch.txt")
capture.output(anova(HSM_F_lmer_Parsch),file = "HeatShock/HSM_F_lmer_Parsch.txt")
#capture.output(emmeans(HSM_F_lmer_Parsch, list(pairwise ~ Population), adjust = "tukey"),file = "HeatShock/HSM_F_lmer_Parsch_tk.txt")
anova(HSM_F_lmer_Parsch)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 315432   39429     8 134.65  8.2215 5.043e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(HSM_F_lmer_Parsch)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: TimeDeath_min ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_HSM_F[d_HSM_F$Supervisor.PI == "Parsch", ]
## 
## REML criterion at convergence: 68742.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -6.2691 -0.4074  0.1719  0.5104  3.2162 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 3763     61.34   
##  Batch           (Intercept) 4942     70.30   
##  Residual                    4796     69.25   
## Number of obs: 6036, groups:  Line:Population, 135; Batch, 9
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)    450.61      28.56   16.75  15.780 1.75e-11 ***
## PopulationGI   -86.00      22.96  131.11  -3.746 0.000268 ***
## PopulationKA   -36.36      22.84  128.43  -1.592 0.113915    
## PopulationMA    10.56      22.76  126.68   0.464 0.643428    
## PopulationMU   -29.47      22.76  126.64  -1.295 0.197801    
## PopulationRE  -111.79      23.39  140.30  -4.780 4.38e-06 ***
## PopulationUM   -13.18      23.79  149.55  -0.554 0.580244    
## PopulationVA   -19.30      23.79  149.56  -0.811 0.418582    
## PopulationYE  -109.44      23.13  134.57  -4.732 5.55e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.400                                                 
## PopulatinKA -0.400  0.505                                          
## PopulatinMA -0.398  0.491  0.496                                   
## PopulatinMU -0.398  0.491  0.496  0.502                            
## PopulatinRE -0.408  0.490  0.490  0.487  0.487                     
## PopulatinUM -0.407  0.484  0.484  0.478  0.478  0.534              
## PopulatinVA -0.407  0.484  0.484  0.478  0.478  0.534  0.544       
## PopulatinYE -0.409  0.497  0.496  0.490  0.490  0.519  0.522  0.522
HSM_M_lmer_Parsch <- lmer(TimeDeath_min ~ Population  + (1| Line : Population) +
                                  (1|Batch), data = d_HSM_M[d_HSM_M$Supervisor.PI == "Parsch",])
capture.output(summary(HSM_M_lmer_Parsch),file = "HeatShock/HSM_M_lmer_sum_Parsch.txt")
capture.output(anova(HSM_M_lmer_Parsch),file = "HeatShock/HSM_M_lmer_Parsch.txt")
#capture.output(emmeans(HSM_M_lmer_Parsch, list(pairwise ~ Population), adjust = "tukey"),file = "HeatShock/HSM_M_lmer_Parsch_tk.txt")
anova(HSM_M_lmer_Parsch)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 299204   37400     8 132.61  7.3383 4.743e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(HSM_M_lmer_Parsch)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: TimeDeath_min ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_HSM_M[d_HSM_M$Supervisor.PI == "Parsch", ]
## 
## REML criterion at convergence: 69116.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.2370 -0.6649  0.0844  0.6704  3.5502 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 5767     75.94   
##  Batch           (Intercept) 3532     59.43   
##  Residual                    5097     71.39   
## Number of obs: 6033, groups:  Line:Population, 135; Batch, 9
## 
## Fixed effects:
##                Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)   399.94978   28.16624   29.16362  14.200 1.24e-14 ***
## PopulationGI  -99.79578   28.21291  129.63942  -3.537 0.000562 ***
## PopulationKA  -37.03040   28.11191  127.80147  -1.317 0.190112    
## PopulationMA    0.02412   28.04135  126.52903   0.001 0.999315    
## PopulationMU  -41.52879   28.04107  126.52398  -1.481 0.141093    
## PopulationRE -133.38181   28.58950  136.28816  -4.665 7.27e-06 ***
## PopulationUM  -13.68142   28.94179  142.83549  -0.473 0.637133    
## PopulationVA  -31.09782   28.94196  142.83884  -1.074 0.284415    
## PopulationYE -135.08845   28.36039  132.18537  -4.763 4.94e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.499                                                 
## PopulatinKA -0.499  0.504                                          
## PopulatinMA -0.497  0.494  0.498                                   
## PopulatinMU -0.497  0.494  0.498  0.501                            
## PopulatinRE -0.506  0.492  0.493  0.491  0.491                     
## PopulatinUM -0.505  0.489  0.488  0.484  0.484  0.525              
## PopulatinVA -0.505  0.489  0.488  0.484  0.484  0.525  0.532       
## PopulatinYE -0.507  0.498  0.497  0.493  0.493  0.514  0.516  0.516

Vieira Lab

HSM_F_lmer_Vieira <- lmer(TimeDeath_min ~ Population  + (1| Line : Population) +
                                  (1|Batch), data = d_HSM_F[d_HSM_F$Supervisor.PI == "Vieira",])
capture.output(summary(HSM_F_lmer_Vieira),file = "HeatShock/HSM_F_lmer_sum_Vieira.txt")
capture.output(anova(HSM_F_lmer_Vieira),file = "HeatShock/HSM_F_lmer_Vieira.txt")
#capture.output(emmeans(HSM_F_lmer_Vieira, list(pairwise ~ Population), adjust = "tukey"),file = "HeatShock/HSM_F_lmer_Vieira_tk.txt")
anova(HSM_F_lmer_Vieira)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 158491   19811     8 44.122  8.8172 4.148e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(HSM_F_lmer_Vieira)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: TimeDeath_min ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_HSM_F[d_HSM_F$Supervisor.PI == "Vieira", ]
## 
## REML criterion at convergence: 101672.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -7.8671 -0.3443  0.2083  0.5002  2.6843 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept)  567.82  23.83   
##  Batch           (Intercept)   92.73   9.63   
##  Residual                    2246.89  47.40   
## Number of obs: 9593, groups:  Line:Population, 168; Batch, 32
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)   391.098      6.600  54.665  59.261  < 2e-16 ***
## PopulationGI  -41.484      9.815 117.966  -4.226 4.70e-05 ***
## PopulationKA    6.309      9.480  50.582   0.665    0.509    
## PopulationMA    9.195      9.650  40.251   0.953    0.346    
## PopulationMU  -46.769      8.731 129.475  -5.356 3.75e-07 ***
## PopulationRE   12.618     10.451  34.036   1.207    0.236    
## PopulationUM   -3.187      9.260  74.779  -0.344    0.732    
## PopulationVA  -16.190      9.742  39.291  -1.662    0.105    
## PopulationYE   -7.465      9.754  39.367  -0.765    0.449    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.591                                                 
## PopulatinKA -0.693  0.412                                          
## PopulatinMA -0.684  0.404  0.486                                   
## PopulatinMU -0.623  0.416  0.436  0.426                            
## PopulatinRE -0.631  0.373  0.455  0.432  0.393                     
## PopulatinUM -0.679  0.425  0.515  0.466  0.473  0.430              
## PopulatinVA -0.677  0.401  0.470  0.466  0.422  0.428  0.460       
## PopulatinYE -0.677  0.400  0.470  0.478  0.421  0.427  0.460  0.559
HSM_M_lmer_Vieira <- lmer(TimeDeath_min ~ Population  + (1| Line : Population) +
                                  (1|Batch), data = d_HSM_M[d_HSM_M$Supervisor.PI == "Vieira",])
capture.output(summary(HSM_M_lmer_Vieira),file = "HeatShock/HSM_M_lmer_sum_Vieira.txt")
capture.output(anova(HSM_M_lmer_Vieira),file = "HeatShock/HSM_M_lmer_Vieira.txt")
#capture.output(emmeans(HSM_M_lmer_Vieira, list(pairwise ~ Population), adjust = "tukey"),file = "HeatShock/HSM_M_lmer_Vieira_tk.txt")
anova(HSM_M_lmer_Vieira)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Population  91213   11402     8 52.581   3.761 0.001508 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(HSM_M_lmer_Vieira)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: TimeDeath_min ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: d_HSM_M[d_HSM_M$Supervisor.PI == "Vieira", ]
## 
## REML criterion at convergence: 104503.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -6.4766 -0.6125  0.0630  0.6534  2.7719 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 1249.3   35.35   
##  Batch           (Intercept)  325.6   18.04   
##  Residual                    3031.6   55.06   
## Number of obs: 9582, groups:  Line:Population, 168; Batch, 32
## 
## Fixed effects:
##              Estimate Std. Error     df t value Pr(>|t|)    
## (Intercept)    355.70      10.42  59.82  34.130  < 2e-16 ***
## PopulationGI   -75.57      14.98 131.33  -5.045 1.48e-06 ***
## PopulationKA   -20.24      15.00  59.26  -1.350 0.182300    
## PopulationMA   -30.94      15.44  45.65  -2.003 0.051086 .  
## PopulationMU   -45.92      13.25 146.15  -3.466 0.000693 ***
## PopulationRE   -26.47      16.86  38.82  -1.570 0.124545    
## PopulationUM   -37.66      14.41  88.78  -2.613 0.010530 *  
## PopulationVA   -30.89      15.60  44.92  -1.980 0.053883 .  
## PopulationYE   -24.60      15.62  46.28  -1.575 0.121983    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.572                                                 
## PopulatinKA -0.689  0.398                                          
## PopulatinMA -0.675  0.386  0.484                                   
## PopulatinMU -0.592  0.407  0.416  0.400                            
## PopulatinRE -0.618  0.353  0.453  0.418  0.366                     
## PopulatinUM -0.670  0.417  0.524  0.454  0.467  0.417              
## PopulatinVA -0.668  0.382  0.460  0.457  0.395  0.413  0.447       
## PopulatinYE -0.667  0.382  0.460  0.475  0.395  0.412  0.447  0.591

Lab correlations

intersect_HSM  <- Reduce(intersect, list(d_HSM$Line[d_HSM$Supervisor.PI == "Parsch"],
                                         d_HSM$Line[d_HSM$Supervisor.PI == "Vieira"]))
length(intersect_HSM)
## [1] 132
write(intersect_HSM, file ="HeatShock/HSM_int.txt", sep = "\t")

Diapause

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Bergland Lab : Liam Miller, Alan Bergland, Priscilla Erickson

Flatt Lab : Esra Durmaz, Envel Kerdaffrec, Thibault Schowing, Virginie Thieu, Marisa Rodrigues, Thomas Flatt

Schlotterer Lab : Manolis Lyrakis, Christian Schlötterer

Data Reformatting

d_Dia <- read.csv("MasterSheets_Oct21_git/DIA_MasterSheet_Oct21.csv")
str(d_Dia)
## 'data.frame':    8206 obs. of  12 variables:
##  $ Supervisor.PI    : chr  "Bergland" "Bergland" "Bergland" "Bergland" ...
##  $ Diet             : chr  "S" "S" "S" "S" ...
##  $ Batch            : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ Population       : chr  "AK" "AK" "AK" "AK" ...
##  $ Line             : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Individual       : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ MostAdvancedStage: int  9 7 10 8 8 8 8 9 9 8 ...
##  $ NumberOfEggs     : int  1 0 3 0 1 3 0 4 3 1 ...
##  $ Country          : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude         : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude        : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude         : int  88 88 88 88 88 88 88 88 88 88 ...
d_Dia$Supervisor.PI <- as.factor(d_Dia$Supervisor.PI)
d_Dia$Diet <- as.factor(d_Dia$Diet)
d_Dia$Batch <- as.factor(d_Dia$Batch)
d_Dia$Population_Lat <- factor(d_Dia$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_Dia$Population_Lon <- factor(d_Dia$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_Dia$Population_Alt <- factor(d_Dia$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_Dia$Line <- as.factor(d_Dia$Line)
d_Dia$MostAdvancedStage <- as.numeric(d_Dia$MostAdvancedStage)
d_Dia$NumberOfEggs <- as.numeric(d_Dia$NumberOfEggs)
str(d_Dia)
## 'data.frame':    8206 obs. of  15 variables:
##  $ Supervisor.PI    : Factor w/ 3 levels "Bergland","Flatt",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet             : Factor w/ 2 levels "NS","S": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Batch            : Factor w/ 3 levels "1","2","3": 3 3 3 3 3 3 3 3 3 3 ...
##  $ Population       : chr  "AK" "AK" "AK" "AK" ...
##  $ Line             : Factor w/ 168 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Individual       : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ MostAdvancedStage: num  9 7 10 8 8 8 8 9 9 8 ...
##  $ NumberOfEggs     : num  1 0 3 0 1 3 0 4 3 1 ...
##  $ Country          : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude         : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude        : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude         : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat   : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon   : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt   : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

Descriptive statistics at the line level, without batch information :

Descriptive statistics at the population level, with batch information :

Descriptive statistics at the population level, without batch information :

Plots and Linear Models by Lab

Bergland Lab

Flatt Lab

Schlotterer Lab

Lab correlations

intersect_Dia  <- Reduce(intersect, list(d_Dia$Line[d_Dia$Supervisor.PI == "Flatt"],d_Dia$Line[d_Dia$Supervisor.PI == "Bergland"],d_Dia$Line[d_Dia$Supervisor.PI == "Schlotterer"]))
length(intersect_Dia)
## [1] 146
write(intersect_Dia, file ="Diapause/Dia_int.txt", sep = "\t")

Circadian eclosion timing

For a detailed description of tables, plots, linear models and outputs, please refer here

#Note that the trait has been phenotyped as mixed sex. 

Contributors:

Wegener Lab : Susanne Klühspies, Christian Wegener

Data Reformatting

d_CET <- read.csv("MasterSheets_Oct21_git/CET_MasterSheet_Dec21.csv")
str(d_CET)
## 'data.frame':    36 obs. of  16 variables:
##  $ Supervisor.PI                 : chr  "Wegener" "Wegener" "Wegener" "Wegener" ...
##  $ Diet                          : chr  "NS" "NS" "NS" "NS" ...
##  $ total...of.flies              : int  1897 793 1938 1355 2349 1418 1178 1544 2150 1236 ...
##  $ Batch                         : int  2 2 2 2 3 2 1 2 3 2 ...
##  $ Population                    : chr  "AK" "GI" "KA" "MA" ...
##  $ Line                          : chr  "mixed population" "mixed population" "mixed population" "mixed population" ...
##  $ Sex                           : chr  "mixed sex" "mixed sex" "mixed sex" "mixed sex" ...
##  $ ReplicateVial                 : logi  NA NA NA NA NA NA ...
##  $ Individual                    : logi  NA NA NA NA NA NA ...
##  $ Condition                     : chr  "18_LD_DD" "18_LD_DD" "18_LD_DD" "18_LD_DD" ...
##  $ CET_hours_MESA                : num  13.2 10.5 14 16.8 10.5 ...
##  $ CET_hours_LSPR                : num  12.5 10.5 11.7 17.5 11 ...
##  $ Period_MESA                   : num  24.2 24.8 24.1 23.3 24.9 ...
##  $ Period_LSPR                   : num  24.4 24.8 24.8 23.1 24.7 ...
##  $ Rhythmicity_LSPR_amplitude    : num  11.66 6.55 9.75 7.47 16.88 ...
##  $ Rhythmicity_JTK_p_BH_corrected: num  5.26e-24 6.27e-22 6.76e-14 2.92e-09 4.21e-24 ...
d_CET$Supervisor.PI <- as.factor(d_CET$Supervisor.PI)
d_CET$Diet <- as.factor(d_CET$Diet)
d_CET$Batch <- as.factor(d_CET$Batch)
d_CET$Population_Lat <- factor(d_CET$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_CET$Population_Lon <- factor(d_CET$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_CET$Population_Alt <- factor(d_CET$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_CET$Condition <- as.factor(d_CET$Condition)
d_CET$CET_hours_MESA <- as.numeric(d_CET$CET_hours_MESA)
d_CET$CET_hours_LSPR <- as.numeric(d_CET$CET_hours_LSPR)
d_CET$Period_MESA <- as.numeric(d_CET$Period_MESA)
d_CET$Period_LSPR <- as.numeric(d_CET$Period_LSPR)
d_CET$Rhythmicity_LSPR_amplitude <- as.numeric(d_CET$Rhythmicity_LSPR_amplitude)
d_CET$Rhythmicity_JTK_p_BH_corrected <- as.numeric(d_CET$Rhythmicity_JTK_p_BH_corrected)
str(d_CET)
## 'data.frame':    36 obs. of  19 variables:
##  $ Supervisor.PI                 : Factor w/ 1 level "Wegener": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet                          : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ total...of.flies              : int  1897 793 1938 1355 2349 1418 1178 1544 2150 1236 ...
##  $ Batch                         : Factor w/ 4 levels "1","2","3","4": 2 2 2 2 3 2 1 2 3 2 ...
##  $ Population                    : chr  "AK" "GI" "KA" "MA" ...
##  $ Line                          : chr  "mixed population" "mixed population" "mixed population" "mixed population" ...
##  $ Sex                           : chr  "mixed sex" "mixed sex" "mixed sex" "mixed sex" ...
##  $ ReplicateVial                 : logi  NA NA NA NA NA NA ...
##  $ Individual                    : logi  NA NA NA NA NA NA ...
##  $ Condition                     : Factor w/ 4 levels "18_LD_DD","18_LD_LD",..: 1 1 1 1 1 1 1 1 1 2 ...
##  $ CET_hours_MESA                : num  13.2 10.5 14 16.8 10.5 ...
##  $ CET_hours_LSPR                : num  12.5 10.5 11.7 17.5 11 ...
##  $ Period_MESA                   : num  24.2 24.8 24.1 23.3 24.9 ...
##  $ Period_LSPR                   : num  24.4 24.8 24.8 23.1 24.7 ...
##  $ Rhythmicity_LSPR_amplitude    : num  11.66 6.55 9.75 7.47 16.88 ...
##  $ Rhythmicity_JTK_p_BH_corrected: num  5.26e-24 6.27e-22 6.76e-14 2.92e-09 4.21e-24 ...
##  $ Population_Lat                : Factor w/ 9 levels "YE","RE","GI",..: 9 3 7 5 4 2 6 8 1 9 ...
##  $ Population_Lon                : Factor w/ 9 levels "RE","GI","KA",..: 6 2 3 5 4 1 7 9 8 6 ...
##  $ Population_Alt                : Factor w/ 9 levels "KA","AK","GI",..: 2 3 1 8 7 4 5 6 9 2 ...
d_CET_18_LD_DD <-subset(d_CET,Condition=='18_LD_DD')
d_CET_18_LD_LD <-subset(d_CET,Condition=='18_LD_LD')
d_CET_29_LD_DD <-subset(d_CET,Condition=='29_LD_DD')
d_CET_29_LD_LD <-subset(d_CET,Condition=='29_LD_LD')

Descriptive Statistics

18_LD_DD

Descriptive statistics for CET_hours_MESA :

table_CET_18LDDD_CET_MESA <- write.csv(d_CET_18_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                    summarise_at(vars(CET_hours_MESA), 
                                                 list(Mean = mean)), 
                            file = "CircadianEclosion/table_CET_18LDDD_CET_MESA.csv", row.names = T)
table_CET_18LDDD_CET_MESA <- read.csv("CircadianEclosion/table_CET_18LDDD_CET_MESA.csv")
DT::datatable(table_CET_18LDDD_CET_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for CET_hours_LSPR :

table_CET_18LDDD_CET_LSPR <- write.csv(d_CET_18_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                    summarise_at(vars(CET_hours_LSPR), 
                                                 list(Mean = mean)), 
                            file = "CircadianEclosion/table_CET_18LDDD_CET_LSPR.csv", row.names = T)
table_CET_18LDDD_CET_LSPR <- read.csv("CircadianEclosion/table_CET_18LDDD_CET_LSPR.csv")
DT::datatable(table_CET_18LDDD_CET_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_MESA :

table_CET_18LDDD_Period_MESA <- write.csv(d_CET_18_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                    summarise_at(vars(Period_MESA), 
                                                 list(Mean = mean)), 
                            file = "CircadianEclosion/table_CET_18LDDD_Period_MESA.csv", row.names = T)
table_CET_18LDDD_Period_MESA <- read.csv("CircadianEclosion/table_CET_18LDDD_Period_MESA.csv")
DT::datatable(table_CET_18LDDD_Period_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_LSPR :

table_CET_18LDDD_Period_LSPR <- write.csv(d_CET_18_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                    summarise_at(vars(Period_LSPR), 
                                                 list(Mean = mean)), 
                            file = "CircadianEclosion/table_CET_18LDDD_Period_LSPR.csv", row.names = T)
table_CET_18LDDD_Period_LSPR <- read.csv("CircadianEclosion/table_CET_18LDDD_Period_LSPR.csv")
DT::datatable(table_CET_18LDDD_Period_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_LSPR_amplitude :

table_CET_18LDDD_Rhy_LSPR <- write.csv(d_CET_18_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                    summarise_at(vars(Rhythmicity_LSPR_amplitude), 
                                                 list(Mean = mean)), 
                            file = "CircadianEclosion/table_CET_18LDDD_Rhy_LSPR.csv", row.names = T)
table_CET_18LDDD_Rhy_LSPR <- read.csv("CircadianEclosion/table_CET_18LDDD_Rhy_LSPR.csv")
DT::datatable(table_CET_18LDDD_Rhy_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_JTK_p_BH_corrected :

table_CET_18LDDD_Rhy_JTK <- write.csv(d_CET_18_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                    summarise_at(vars(Rhythmicity_JTK_p_BH_corrected), 
                                                 list(Mean = mean)), 
                            file = "CircadianEclosion/table_CET_18LDDD_Rhy_JTK.csv", row.names = T)
table_CET_18LDDD_Rhy_JTK <- read.csv("CircadianEclosion/table_CET_18LDDD_Rhy_JTK.csv")
DT::datatable(table_CET_18LDDD_Rhy_JTK, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

18_LD_LD

Descriptive statistics for CET_hours_MESA :

table_CET_18LDLD_CET_MESA <- write.csv(d_CET_18_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(CET_hours_MESA), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_18LDLD_CET_MESA.csv", row.names = T)
table_CET_18LDLD_CET_MESA <- read.csv("CircadianEclosion/table_CET_18LDLD_CET_MESA.csv")
DT::datatable(table_CET_18LDLD_CET_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for CET_hours_LSPR :

table_CET_18LDLD_CET_LSPR <- write.csv(d_CET_18_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(CET_hours_LSPR), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_18LDLD_CET_LSPR.csv", row.names = T)
table_CET_18LDLD_CET_LSPR <- read.csv("CircadianEclosion/table_CET_18LDLD_CET_LSPR.csv")
DT::datatable(table_CET_18LDLD_CET_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_MESA :

table_CET_18LDLD_Period_MESA <- write.csv(d_CET_18_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                            summarise_at(vars(Period_MESA), 
                                                         list(Mean = mean)), 
                                          file = "CircadianEclosion/table_CET_18LDLD_Period_MESA.csv", row.names = T)
table_CET_18LDLD_Period_MESA <- read.csv("CircadianEclosion/table_CET_18LDLD_Period_MESA.csv")
DT::datatable(table_CET_18LDLD_Period_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_LSPR :

table_CET_18LDLD_Period_LSPR <- write.csv(d_CET_18_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                            summarise_at(vars(Period_LSPR), 
                                                         list(Mean = mean)), 
                                          file = "CircadianEclosion/table_CET_18LDLD_Period_LSPR.csv", row.names = T)
table_CET_18LDLD_Period_LSPR <- read.csv("CircadianEclosion/table_CET_18LDLD_Period_LSPR.csv")
DT::datatable(table_CET_18LDLD_Period_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_LSPR_amplitude :

table_CET_18LDLD_Rhy_LSPR <- write.csv(d_CET_18_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(Rhythmicity_LSPR_amplitude), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_18LDLD_Rhy_LSPR.csv", row.names = T)
table_CET_18LDLD_Rhy_LSPR <- read.csv("CircadianEclosion/table_CET_18LDLD_Rhy_LSPR.csv")
DT::datatable(table_CET_18LDLD_Rhy_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_JTK_p_BH_corrected :

table_CET_18LDLD_Rhy_JTK <- write.csv(d_CET_18_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                        summarise_at(vars(Rhythmicity_JTK_p_BH_corrected), 
                                                     list(Mean = mean)), 
                                      file = "CircadianEclosion/table_CET_18LDLD_Rhy_JTK.csv", row.names = T)
table_CET_18LDLD_Rhy_JTK <- read.csv("CircadianEclosion/table_CET_18LDLD_Rhy_JTK.csv")
DT::datatable(table_CET_18LDLD_Rhy_JTK, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

29_LD_DD

Descriptive statistics for CET_hours_MESA :

table_CET_29LDDD_CET_MESA <- write.csv(d_CET_29_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(CET_hours_MESA), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_29LDDD_CET_MESA.csv", row.names = T)
table_CET_29LDDD_CET_MESA <- read.csv("CircadianEclosion/table_CET_29LDDD_CET_MESA.csv")
DT::datatable(table_CET_29LDDD_CET_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for CET_hours_LSPR :

table_CET_29LDDD_CET_LSPR <- write.csv(d_CET_29_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(CET_hours_LSPR), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_29LDDD_CET_LSPR.csv", row.names = T)
table_CET_29LDDD_CET_LSPR <- read.csv("CircadianEclosion/table_CET_29LDDD_CET_LSPR.csv")
DT::datatable(table_CET_29LDDD_CET_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_MESA :

table_CET_29LDDD_Period_MESA <- write.csv(d_CET_29_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                            summarise_at(vars(Period_MESA), 
                                                         list(Mean = mean)), 
                                          file = "CircadianEclosion/table_CET_29LDDD_Period_MESA.csv", row.names = T)
table_CET_29LDDD_Period_MESA <- read.csv("CircadianEclosion/table_CET_29LDDD_Period_MESA.csv")
DT::datatable(table_CET_29LDDD_Period_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_LSPR :

table_CET_29LDDD_Period_LSPR <- write.csv(d_CET_29_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                            summarise_at(vars(Period_LSPR), 
                                                         list(Mean = mean)), 
                                          file = "CircadianEclosion/table_CET_29LDDD_Period_LSPR.csv", row.names = T)
table_CET_29LDDD_Period_LSPR <- read.csv("CircadianEclosion/table_CET_29LDDD_Period_LSPR.csv")
DT::datatable(table_CET_29LDDD_Period_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_LSPR_amplitude :

table_CET_29LDDD_Rhy_LSPR <- write.csv(d_CET_29_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(Rhythmicity_LSPR_amplitude), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_29LDDD_Rhy_LSPR.csv", row.names = T)
table_CET_29LDDD_Rhy_LSPR <- read.csv("CircadianEclosion/table_CET_29LDDD_Rhy_LSPR.csv")
DT::datatable(table_CET_29LDDD_Rhy_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_JTK_p_BH_corrected :

table_CET_29LDDD_Rhy_JTK <- write.csv(d_CET_29_LD_DD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                        summarise_at(vars(Rhythmicity_JTK_p_BH_corrected), 
                                                     list(Mean = mean)), 
                                      file = "CircadianEclosion/table_CET_29LDDD_Rhy_JTK.csv", row.names = T)
table_CET_29LDDD_Rhy_JTK <- read.csv("CircadianEclosion/table_CET_29LDDD_Rhy_JTK.csv")
DT::datatable(table_CET_29LDDD_Rhy_JTK, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

29_LD_LD

Descriptive statistics for CET_hours_MESA :

table_CET_29LDLD_CET_MESA <- write.csv(d_CET_29_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(CET_hours_MESA), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_29LDLD_CET_MESA.csv", row.names = T)
table_CET_29LDLD_CET_MESA <- read.csv("CircadianEclosion/table_CET_29LDLD_CET_MESA.csv")
DT::datatable(table_CET_29LDLD_CET_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for CET_hours_LSPR :

table_CET_29LDLD_CET_LSPR <- write.csv(d_CET_29_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(CET_hours_LSPR), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_29LDLD_CET_LSPR.csv", row.names = T)
table_CET_29LDLD_CET_LSPR <- read.csv("CircadianEclosion/table_CET_29LDLD_CET_LSPR.csv")
DT::datatable(table_CET_29LDLD_CET_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_MESA :

table_CET_29LDLD_Period_MESA <- write.csv(d_CET_29_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                            summarise_at(vars(Period_MESA), 
                                                         list(Mean = mean)), 
                                          file = "CircadianEclosion/table_CET_29LDLD_Period_MESA.csv", row.names = T)
table_CET_29LDLD_Period_MESA <- read.csv("CircadianEclosion/table_CET_29LDLD_Period_MESA.csv")
DT::datatable(table_CET_29LDLD_Period_MESA, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Period_LSPR :

table_CET_29LDLD_Period_LSPR <- write.csv(d_CET_29_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                            summarise_at(vars(Period_LSPR), 
                                                         list(Mean = mean)), 
                                          file = "CircadianEclosion/table_CET_29LDLD_Period_LSPR.csv", row.names = T)
table_CET_29LDLD_Period_LSPR <- read.csv("CircadianEclosion/table_CET_29LDLD_Period_LSPR.csv")
DT::datatable(table_CET_29LDLD_Period_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_LSPR_amplitude :

table_CET_29LDLD_Rhy_LSPR <- write.csv(d_CET_29_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                         summarise_at(vars(Rhythmicity_LSPR_amplitude), 
                                                      list(Mean = mean)), 
                                       file = "CircadianEclosion/table_CET_29LDLD_Rhy_LSPR.csv", row.names = T)
table_CET_29LDLD_Rhy_LSPR <- read.csv("CircadianEclosion/table_CET_29LDLD_Rhy_LSPR.csv")
DT::datatable(table_CET_29LDLD_Rhy_LSPR, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Descriptive statistics for Rhythmicity_JTK_p_BH_corrected :

table_CET_29LDLD_Rhy_JTK <- write.csv(d_CET_29_LD_LD %>% group_by(Supervisor.PI, Condition, Population) %>% 
                                        summarise_at(vars(Rhythmicity_JTK_p_BH_corrected), 
                                                     list(Mean = mean)), 
                                      file = "CircadianEclosion/table_CET_29LDLD_Rhy_JTK.csv", row.names = T)
table_CET_29LDLD_Rhy_JTK <- read.csv("CircadianEclosion/table_CET_29LDLD_Rhy_JTK.csv")
DT::datatable(table_CET_29LDLD_Rhy_JTK, options = list(pageLength = 10)) %>% formatRound(5:5, 3)

Plots and Linear Models by Lab

Wegener Lab

From Chris :

knitr::include_graphics("CircadianEclosion/FromChris/Graphs_plate_MESA.png")

From Eran :

knitr::include_graphics("CircadianEclosion/FromEran/eclosion_data_Christian_Page_1.png")

knitr::include_graphics("CircadianEclosion/FromEran/eclosion_data_Christian_Page_2.png")

Locomotor activity

For a detailed description of tables, plots, linear models and outputs, please refer here

#Note that the trait has been phenotyped only in males.

Contributors:

Tauber Lab : Bettina Fishman, Eran Tauber

Data Reformatting

d_LA <- read.csv("MasterSheets_Oct21_git/LA_MasterSheet_Oct21.csv")
str(d_LA)
## 'data.frame':    639 obs. of  19 variables:
##  $ Supervisor.PI      : chr  "Tauber" "Tauber" "Tauber" "Tauber" ...
##  $ Diet               : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch              : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : chr  "YE" "YE" "YE" "YE" ...
##  $ Line               : chr  "YE27" "YE33" "YE40" "YE40" ...
##  $ Data.Label         : chr  "YE 29-9-18" "YE 33-9-18" "YE 40-9-18" "YE 40-9-18" ...
##  $ Sex                : chr  "M" "M" "M" "M" ...
##  $ ReplicateChamberOld: int  3 3 3 3 3 3 3 3 3 3 ...
##  $ ReplicateChamber   : chr  "Tauber_1_YE27_M_3" "Tauber_1_YE33_M_3" "Tauber_1_YE40_M_3" "Tauber_1_YE40_M_3" ...
##  $ Period             : num  23.6 20.2 24 24.2 23.1 ...
##  $ CircPhase          : num  23.21 13.07 4.59 9.32 12.98 ...
##  $ AbsPhase           : num  12.5 0.7 11.7 12.5 12.5 12 12.7 0.5 12.4 12.6 ...
##  $ Experiment         : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ND                 : num  0.678 0.95 1.083 0.948 1.455 ...
##  $ Activity           : num  29.2 46.8 45.4 37.8 37.8 31.8 43.6 42.8 29.6 21.6 ...
##  $ Country            : chr  "Turkey" "Turkey" "Turkey" "Turkey" ...
##  $ Latitude           : num  40.2 40.2 40.2 40.2 40.2 ...
##  $ Longitude          : num  32.3 32.3 32.3 32.3 32.3 ...
##  $ Altitude           : int  680 680 680 680 680 680 680 680 680 680 ...
d_LA$Supervisor.PI <- as.factor(d_LA$Supervisor.PI)
d_LA$Diet <- as.factor(d_LA$Diet)
d_LA$Batch <- as.factor(d_LA$Batch)
d_LA$Population_Lat <- factor(d_LA$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_LA$Population_Lon <- factor(d_LA$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_LA$Population_Alt <- factor(d_LA$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_LA$Line <- as.factor(d_LA$Line)
d_LA$ReplicateChamber <- as.factor(d_LA$ReplicateChamber)
d_LA$Period <- as.numeric(d_LA$Period)
d_LA$CircPhase <- as.numeric(d_LA$CircPhase)
d_LA$AbsPhase <- as.numeric(d_LA$AbsPhase)
d_LA$Experiment <- as.numeric(d_LA$Experiment)
d_LA$ND <- as.numeric(d_LA$ND)
d_LA$Activity <- as.numeric(d_LA$Activity)
str(d_LA)
## 'data.frame':    639 obs. of  22 variables:
##  $ Supervisor.PI      : Factor w/ 1 level "Tauber": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet               : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch              : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population         : chr  "YE" "YE" "YE" "YE" ...
##  $ Line               : Factor w/ 92 levels "AK1","AK2","AK3",..: 84 85 86 86 86 89 90 90 91 91 ...
##  $ Data.Label         : chr  "YE 29-9-18" "YE 33-9-18" "YE 40-9-18" "YE 40-9-18" ...
##  $ Sex                : chr  "M" "M" "M" "M" ...
##  $ ReplicateChamberOld: int  3 3 3 3 3 3 3 3 3 3 ...
##  $ ReplicateChamber   : Factor w/ 152 levels "Tauber_1_AK1_M_9",..: 76 77 78 78 78 79 80 80 81 81 ...
##  $ Period             : num  23.6 20.2 24 24.2 23.1 ...
##  $ CircPhase          : num  23.21 13.07 4.59 9.32 12.98 ...
##  $ AbsPhase           : num  12.5 0.7 11.7 12.5 12.5 12 12.7 0.5 12.4 12.6 ...
##  $ Experiment         : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ ND                 : num  0.678 0.95 1.083 0.948 1.455 ...
##  $ Activity           : num  29.2 46.8 45.4 37.8 37.8 31.8 43.6 42.8 29.6 21.6 ...
##  $ Country            : chr  "Turkey" "Turkey" "Turkey" "Turkey" ...
##  $ Latitude           : num  40.2 40.2 40.2 40.2 40.2 ...
##  $ Longitude          : num  32.3 32.3 32.3 32.3 32.3 ...
##  $ Altitude           : int  680 680 680 680 680 680 680 680 680 680 ...
##  $ Population_Lat     : Factor w/ 9 levels "YE","RE","GI",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population_Lon     : Factor w/ 9 levels "RE","GI","KA",..: 8 8 8 8 8 8 8 8 8 8 ...
##  $ Population_Alt     : Factor w/ 9 levels "KA","AK","GI",..: 9 9 9 9 9 9 9 9 9 9 ...

Descriptive Statistics

LA - Activity

Descriptive statistics at the line level, with batch information :

table_LA_Act_Line_wbatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Batch, Sex, Population, Line) %>% 
                                    summarise_at(vars(Activity), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "Locomotor/table_LA_Act_Line_wbatch.csv", row.names = T)
table_LA_Act_Line_wbatch <- read.csv("Locomotor/table_LA_Act_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_LA_Act_Line_wobatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Sex, Population, Line) %>% 
                                    summarise_at(vars(Activity), 
                                                 list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                      SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                            file = "Locomotor/table_LA_Act_Line_wobatch.csv", row.names = T)
table_LA_Act_Line_wobatch <- read.csv("Locomotor/table_LA_Act_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_LA_Act_Pop_wbatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                   summarise_at(vars(Activity), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "Locomotor/table_LA_Act_Pop_wbatch.csv", row.names = T)
table_LA_Act_Pop_wbatch <- read.csv("Locomotor/table_LA_Act_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_LA_Act_Pop_wobatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                   summarise_at(vars(Activity), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "Locomotor/table_LA_Act_Pop_wobatch.csv", row.names = T)
table_LA_Act_Pop_wobatch <- read.csv("Locomotor/table_LA_Act_Pop_wobatch.csv")

LA - ND ratio

Descriptive statistics at the line level, with batch information :

table_LA_ND_Line_wbatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Batch, Sex, Population, Line) %>% 
                                        summarise_at(vars(ND), 
                                                     list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                          SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                      file = "Locomotor/table_LA_ND_Line_wbatch.csv", row.names = T)
table_LA_ND_Line_wbatch <- read.csv("Locomotor/table_LA_ND_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_LA_ND_Line_wobatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Sex, Population, Line) %>% 
                                         summarise_at(vars(ND), 
                                                      list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                           SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                       file = "Locomotor/table_LA_ND_Line_wobatch.csv", row.names = T)
table_LA_ND_Line_wobatch <- read.csv("Locomotor/table_LA_ND_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_LA_ND_Pop_wbatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                       summarise_at(vars(ND), 
                                                    list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                         SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                     file = "Locomotor/table_LA_ND_Pop_wbatch.csv", row.names = T)
table_LA_ND_Pop_wbatch <- read.csv("Locomotor/table_LA_ND_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_LA_ND_Pop_wobatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                        summarise_at(vars(ND), 
                                                     list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                          SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                      file = "Locomotor/table_LA_ND_Pop_wobatch.csv", row.names = T)
table_LA_ND_Pop_wobatch <- read.csv("Locomotor/table_LA_ND_Pop_wobatch.csv")

LA - Circadian Phase

Descriptive statistics at the line level, with batch information :

table_LA_CircPhase_Line_wbatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Batch, Sex, Population, Line) %>% 
                                        summarise_at(vars(CircPhase), 
                                                     list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                          SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                      file = "Locomotor/table_LA_CircPhase_Line_wbatch.csv", row.names = T)
table_LA_CircPhase_Line_wbatch <- read.csv("Locomotor/table_LA_CircPhase_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_LA_CircPhase_Line_wobatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Sex, Population, Line) %>% 
                                         summarise_at(vars(CircPhase), 
                                                      list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                           SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                       file = "Locomotor/table_LA_CircPhase_Line_wobatch.csv", row.names = T)
table_LA_CircPhase_Line_wobatch <- read.csv("Locomotor/table_LA_CircPhase_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_LA_CircPhase_Pop_wbatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                       summarise_at(vars(CircPhase), 
                                                    list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                         SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                     file = "Locomotor/table_LA_CircPhase_Pop_wbatch.csv", row.names = T)
table_LA_CircPhase_Pop_wbatch <- read.csv("Locomotor/table_LA_CircPhase_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_LA_CircPhase_Pop_wobatch <- write.csv(d_LA %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                        summarise_at(vars(CircPhase), 
                                                     list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                          SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                                      file = "Locomotor/table_LA_CircPhase_Pop_wobatch.csv", row.names = T)
table_LA_CircPhase_Pop_wobatch <- read.csv("Locomotor/table_LA_CircPhase_Pop_wobatch.csv")

Plots and Linear Models by Lab

Tauber Lab

ND

LA_lmer_ND_Tauber <- lmer(ND ~ Population  + (1|Line:Population) +
                          (1|Batch), data = (d_LA))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00214269 (tol = 0.002, component 1)
capture.output(summary(LA_lmer_ND_Tauber),file = "Locomotor/LA_lmer_ND_Tauber.txt")
capture.output(anova(LA_lmer_ND_Tauber),file = "Locomotor/LA_lmer_ND_Tauber.txt")
#capture.output(emmeans(LA_lmer_ND_Tauber, list(pairwise ~ Population), adjust = "tukey"),file = "Locomotor/LA_lmer_ND_Tauber_tk.txt")
anova(LA_lmer_ND_Tauber)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value Pr(>F)
## Population 1.8666 0.23332     8 74.993  1.5771 0.1461
summary(LA_lmer_ND_Tauber)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ND ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: (d_LA)
## 
## REML criterion at convergence: 703.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.1922 -0.4257 -0.0668  0.2481 11.4146 
## 
## Random effects:
##  Groups          Name        Variance  Std.Dev. 
##  Line:Population (Intercept) 3.972e-02 0.1993100
##  Batch           (Intercept) 1.608e-09 0.0000401
##  Residual                    1.479e-01 0.3846341
## Number of obs: 639, groups:  Line:Population, 92; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)   0.86109    0.08409 63.09959  10.240 4.83e-15 ***
## PopulationGI -0.00947    0.12019 69.05962  -0.079   0.9374    
## PopulationKA  0.16250    0.11441 64.97528   1.420   0.1603    
## PopulationMA  0.09686    0.11425 65.05487   0.848   0.3997    
## PopulationMU  0.00468    0.12120 77.61572   0.039   0.9693    
## PopulationRE  0.01998    0.12567 74.00461   0.159   0.8741    
## PopulationUM -0.05699    0.11757 66.31573  -0.485   0.6295    
## PopulationVA  0.04927    0.11799 64.71625   0.418   0.6777    
## PopulationYE  0.22780    0.10520 73.45997   2.165   0.0336 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.700                                                 
## PopulatinKA -0.735  0.514                                          
## PopulatinMA -0.736  0.515  0.541                                   
## PopulatinMU -0.694  0.485  0.510  0.511                            
## PopulatinRE -0.669  0.468  0.492  0.493  0.464                     
## PopulatinUM -0.715  0.500  0.526  0.526  0.496  0.479              
## PopulatinVA -0.713  0.499  0.524  0.525  0.494  0.477  0.510       
## PopulatinYE -0.799  0.559  0.587  0.588  0.555  0.535  0.572  0.570
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 0.00214269 (tol = 0.002, component 1)

CircPhase

LA_lmer_CircPhase_Tauber <- lmer(CircPhase ~ Population  + (1|Line:Population) +
                          (1|Batch) , data = (d_LA))
capture.output(summary(LA_lmer_CircPhase_Tauber),file = "Locomotor/LA_lmer_CircPhase_Tauber.txt")
capture.output(anova(LA_lmer_CircPhase_Tauber),file = "Locomotor/LA_lmer_CircPhase_Tauber.txt")
#capture.output(emmeans(LA_lmer_CircPhase_Tauber, list(pairwise ~ Population), adjust = "tukey"),file = "Locomotor/LA_lmer_CircPhase_Tauber_tk.txt")
anova(LA_lmer_CircPhase_Tauber)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF DenDF F value   Pr(>F)   
## Population 1267.7  158.47     8 57.85  3.4025 0.002873 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(LA_lmer_CircPhase_Tauber)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: CircPhase ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: (d_LA)
## 
## REML criterion at convergence: 4247.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.10384 -0.57625 -0.06697  0.85374  1.83691 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept)  0.04096 0.2024  
##  Batch           (Intercept)  0.41358 0.6431  
##  Residual                    46.57281 6.8244  
## Number of obs: 639, groups:  Line:Population, 92; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)    9.0667     0.9362  8.2604   9.684 8.62e-06 ***
## PopulationGI   4.1447     1.1992 59.2979   3.456 0.001019 ** 
## PopulationKA   4.9461     1.1019 45.7989   4.489 4.81e-05 ***
## PopulationMA   3.8907     1.1176 52.8628   3.481 0.001009 ** 
## PopulationMU   3.1054     1.2721 79.9386   2.441 0.016851 *  
## PopulationRE   4.2240     1.3234 66.9784   3.192 0.002153 ** 
## PopulationUM   1.9322     1.1559 53.6304   1.672 0.100412    
## PopulationVA   3.9101     1.1388 47.0096   3.433 0.001254 ** 
## PopulationYE   3.8560     1.0930 73.7527   3.528 0.000725 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.596                                                 
## PopulatinKA -0.651  0.508                                          
## PopulatinMA -0.645  0.503  0.550                                   
## PopulatinMU -0.558  0.436  0.475  0.469                            
## PopulatinRE -0.559  0.435  0.479  0.481  0.400                     
## PopulatinUM -0.621  0.484  0.529  0.525  0.453  0.458              
## PopulatinVA -0.634  0.494  0.541  0.538  0.461  0.474  0.516       
## PopulatinYE -0.660  0.515  0.564  0.560  0.480  0.493  0.538  0.551

Activity

LA_lmer_Activity_Tauber <- lmer(Activity ~ Population  + (1|Line:Population) +
                          (1|Batch), data = (d_LA))
capture.output(summary(LA_lmer_Activity_Tauber),file = "Locomotor/LA_lmer_Activity_Tauber.txt")
capture.output(anova(LA_lmer_Activity_Tauber),file = "Locomotor/LA_lmer_Activity_Tauber.txt")
#capture.output(emmeans(LA_lmer_Activity_Tauber, list(pairwise ~ Population), adjust = "tukey"),file = "Locomotor/LA_lmer_Activity_Tauber_tk.txt")
anova(LA_lmer_Activity_Tauber)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Population 2149.2  268.65     8 71.722  3.8883 0.0007429 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(LA_lmer_Activity_Tauber)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Activity ~ Population + (1 | Line:Population) + (1 | Batch)
##    Data: (d_LA)
## 
## REML criterion at convergence: 4624.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.16030 -0.55380  0.07697  0.65610  2.31656 
## 
## Random effects:
##  Groups          Name        Variance Std.Dev.
##  Line:Population (Intercept) 41.72    6.459   
##  Batch           (Intercept)  7.27    2.696   
##  Residual                    69.09    8.312   
## Number of obs: 639, groups:  Line:Population, 92; Batch, 2
## 
## Fixed effects:
##              Estimate Std. Error     df t value Pr(>|t|)    
## (Intercept)    31.197      3.140  6.396   9.935 4.02e-05 ***
## PopulationGI    3.118      3.518 67.155   0.886   0.3786    
## PopulationKA    4.583      3.376 64.374   1.358   0.1793    
## PopulationMA    5.644      3.376 64.461   1.672   0.0994 .  
## PopulationMU   -6.072      3.498 72.038  -1.736   0.0869 .  
## PopulationRE    7.024      3.688 72.820   1.905   0.0608 .  
## PopulationUM   -5.237      3.465 64.916  -1.512   0.1355    
## PopulationVA   -2.690      3.486 65.345  -0.772   0.4431    
## PopulationYE    3.049      3.068 69.746   0.994   0.3237    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) PpltGI PpltKA PpltMA PpltMU PpltRE PpltUM PpltVA
## PopulatinGI -0.563                                                 
## PopulatinKA -0.587  0.524                                          
## PopulatinMA -0.588  0.525  0.547                                   
## PopulatinMU -0.566  0.505  0.526  0.527                            
## PopulatinRE -0.543  0.484  0.505  0.508  0.484                     
## PopulatinUM -0.573  0.511  0.533  0.534  0.513  0.494              
## PopulatinVA -0.570  0.509  0.530  0.532  0.510  0.494  0.518       
## PopulatinYE -0.648  0.578  0.603  0.604  0.580  0.561  0.588  0.586

From Eran :

Red letters denote significant difference by Multiple Comparisons of Means: Tukey Contrasts

knitr::include_graphics("Locomotor/FromEran/pheno2022_Page_1.png")

knitr::include_graphics("Locomotor/FromEran/pheno2022_Page_2.png")

knitr::include_graphics("Locomotor/FromEran/pheno2022_Page_3.png")

Phase in DD represented in angle. The mean and 95 confidence limits are shown. CI limits in red indicate uniform distribution (low concentration. i.e. Rayleigh test not significant).

knitr::include_graphics("Locomotor/FromEran/pheno2022_Page_4.png")

Oriana 3 (Stacked circular).

knitr::include_graphics("Locomotor/FromEran/pheno2022_Page_5.png")

Starvation resistance

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Gonzalez Lab : Llewellyn Green, Josefa Gonzalez, Miriam Merenciano

Onder Lab : Seda Coskun, Ekin Demir, Senel Selin Senkal, Cansu Aksoy

Pasyukova Lab : Alexander Symonenko, Natalia Roshina, Mikhail Trostnokov, Ekaterina Veselkina, Evgenia Tsybul’ko, Olga Rybina, Elena Pasyukova

Data Reformatting

d_SR <- read.csv("MasterSheets_Oct21_git/SR_MasterSheet_Nov21.csv")
str(d_SR)
## 'data.frame':    78315 obs. of  14 variables:
##  $ Supervisor.PI   : chr  "Gonzalez" "Gonzalez" "Gonzalez" "Gonzalez" ...
##  $ Diet            : chr  "S" "S" "S" "S" ...
##  $ Batch           : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex             : chr  "F" "F" "F" "F" ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : chr  "Gonzalez_1_AK1_F_1" "Gonzalez_1_AK1_F_1" "Gonzalez_1_AK1_F_1" "Gonzalez_1_AK1_F_1" ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ AgeAtDeath_hours: int  56 96 96 96 104 104 104 112 112 120 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
d_SR$Supervisor.PI <- as.factor(d_SR$Supervisor.PI)
d_SR$Diet <- as.factor(d_SR$Diet)
d_SR$Batch <- as.factor(d_SR$Batch)
d_SR$Population_Lat <- factor(d_SR$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_SR$Population_Lon <- factor(d_SR$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_SR$Population_Alt <- factor(d_SR$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_SR$Line <- as.factor(d_SR$Line)
d_SR$Sex <- as.factor(d_SR$Sex)
d_SR$ReplicateVial <- as.factor(d_SR$ReplicateVial)
d_SR$AgeAtDeath_hours <- as.numeric(d_SR$AgeAtDeath_hours)
str(d_SR)
## 'data.frame':    78315 obs. of  17 variables:
##  $ Supervisor.PI   : Factor w/ 3 levels "Gonzalez","Onder",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet            : Factor w/ 2 levels "NS","S": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Batch           : Factor w/ 7 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population      : chr  "AK" "AK" "AK" "AK" ...
##  $ Line            : Factor w/ 171 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex             : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVialOld: int  1 1 1 1 1 1 1 1 1 1 ...
##  $ ReplicateVial   : Factor w/ 7753 levels "Gonzalez_1_AK1_F_1",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Individual      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ AgeAtDeath_hours: num  56 96 96 96 104 104 104 112 112 120 ...
##  $ Country         : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude        : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude       : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude        : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat  : Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon  : Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt  : Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_SR_F <-subset(d_SR,Sex=='F')
d_SR_M <-subset(d_SR,Sex=='M')

Descriptive Statistics

Descriptive statistics at the line level, with batch information :

table_SR_Line_wbatch <- write.csv(d_SR %>% group_by(Supervisor.PI, Batch, Sex,Population, Line) %>% 
                                   summarise_at(vars(AgeAtDeath_hours), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "Starvation/table_SR_Line_wbatch.csv", row.names = T)
table_SR_Line_wbatch <- read.csv("Starvation/table_SR_Line_wbatch.csv")

Descriptive statistics at the line level, without batch information :

table_SR_Line_wobatch <- write.csv(d_SR %>% group_by(Supervisor.PI, Sex,Population, Line) %>% 
                                   summarise_at(vars(AgeAtDeath_hours), 
                                                list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                     SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                           file = "Starvation/table_SR_Line_wobatch.csv", row.names = T)
table_SR_Line_wobatch <- read.csv("Starvation/table_SR_Line_wobatch.csv")

Descriptive statistics at the population level, with batch information :

table_SR_Pop_wbatch <- write.csv(d_SR %>% group_by(Supervisor.PI, Batch, Sex, Population) %>% 
                                  summarise_at(vars(AgeAtDeath_hours), 
                                               list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                    SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                          file = "Starvation/table_SR_Pop_wbatch.csv", row.names = T)

table_SR_Pop_wbatch <- read.csv("Starvation/table_SR_Pop_wbatch.csv")

Descriptive statistics at the population level, without batch information :

table_SR_Pop_wobatch <- write.csv(d_SR %>% group_by(Supervisor.PI, Sex, Population) %>% 
                                  summarise_at(vars(AgeAtDeath_hours), 
                                               list(Mean = mean, SD= sd, Median = median, Min = min, Max = max, 
                                                    SE = std_err, CV = coef_var, Mode = estimate_mode)), 
                          file = "Starvation/table_SR_Pop_wobatch.csv", row.names = T)

table_SR_Pop_wobatch <- read.csv("Starvation/table_SR_Pop_wobatch.csv")
min_SR <- min(d_SR$AgeAtDeath_hours)
max_SR <- max(d_SR$AgeAtDeath_hours)
pdf(file="Starvation/p_SR_F.pdf",width=8, height=5)
p_SR_F <- ggplot(data = d_SR_F, aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Supervisor.PI)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  #geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F", x="Population", y = "AgeAtDeath_hours")
p_SR_F + coord_cartesian(ylim = c(min_SR, max_SR))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="Starvation/p_SR_M.pdf",width=8, height=5)
p_SR_M <- ggplot(data = d_SR_M, aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Supervisor.PI)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  #geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_M", x="Population", y = "AgeAtDeath_hours") 
p_SR_M + coord_cartesian(ylim = c(min_SR, max_SR))+ droseu_theme

dev.off()
## pdf 
##   3

Plots and Linear Models by Lab

Gonzalez Lab

pdf(file="Starvation/p_SR_F_Gonzalez.pdf",width=8, height=5)
p_SR_F_Gonzalez <- ggplot(data = (subset(d_SR_F,Supervisor.PI=='Gonzalez')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F_Gonzalez", x="Population", y = "AgeAtDeath_hours")
p_SR_F_Gonzalez + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="Starvation/p_SR_F_pop_Gonzalez.pdf",width=8, height=5)
p_SR_F_pop_Gonzalez <- ggplot(data = (subset(d_SR_F,Supervisor.PI=='Gonzalez')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F_pop_Gonzalez", x="Population", y = "AgeAtDeath_hours")
p_SR_F_pop_Gonzalez + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
####
pdf(file="Starvation/p_SR_M_pop_Gonzalez.pdf",width=8, height=5)
p_SR_M_pop_Gonzalez <- ggplot(data = (subset(d_SR_M,Supervisor.PI=='Gonzalez')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_M_pop_Gonzalez", x="Population", y = "AgeAtDeath_hours")
p_SR_M_pop_Gonzalez + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
SR_F_lmer_Gonzalez <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                          (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_F,Supervisor.PI=='Gonzalez')))
capture.output(summary(SR_F_lmer_Gonzalez),file = "Starvation/SR_F_lmer_Gonzalez_sum.txt")
capture.output(anova(SR_F_lmer_Gonzalez),file = "Starvation/SR_F_lmer_Gonzalez.txt")
#capture.output(emmeans(SR_F_lmer_Gonzalez, list(pairwise ~ Population), adjust = "tukey"),file = "SR_F_Gonzalez_tk.txt")
SR_M_lmer_Gonzalez <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                                   (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_M,Supervisor.PI=='Gonzalez')))
capture.output(summary(SR_M_lmer_Gonzalez),file = "Starvation/SR_M_lmer_Gonzalez_sum.txt")
capture.output(anova(SR_M_lmer_Gonzalez),file = "Starvation/SR_M_lmer_Gonzalez.txt")
#capture.output(emmeans(SR_M_lmer_Gonzalez, list(pairwise ~ Population), adjust = "tukey"),file = "SR_M_Gonzalez_tk.txt")

Onder Lab

pdf(file="Starvation/p_SR_F_Onder.pdf",width=8, height=5)
p_SR_F_Onder <- ggplot(data = (subset(d_SR_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F_Onder", x="Population", y = "AgeAtDeath_hours")
p_SR_F_Onder + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
####
pdf(file="Starvation/p_SR_M_Onder.pdf",width=8, height=5)
p_SR_M_Onder <- ggplot(data = (subset(d_SR_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_M_Onder", x="Population", y = "AgeAtDeath_hours")
p_SR_M_Onder + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
pdf(file="Starvation/p_SR_F_pop_Onder.pdf",width=8, height=5)
p_SR_F_pop_Onder <- ggplot(data = (subset(d_SR_F,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F_pop_Onder", x="Population", y = "AgeAtDeath_hours")
p_SR_F_pop_Onder + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
####
pdf(file="Starvation/p_SR_M_pop_Onder.pdf",width=8, height=5)
p_SR_M_pop_Onder <- ggplot(data = (subset(d_SR_M,Supervisor.PI=='Onder')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_M_pop_Onder", x="Population", y = "AgeAtDeath_hours")
p_SR_M_pop_Onder + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
SR_F_lmer_Onder <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                                (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_F,Supervisor.PI=='Onder')))
## boundary (singular) fit: see ?isSingular
capture.output(summary(SR_F_lmer_Onder),file = "Starvation/SR_F_lmer_Onder_sum.txt")
capture.output(anova(SR_F_lmer_Onder),file = "Starvation/SR_F_lmer_Onder.txt")
#capture.output(emmeans(SR_F_lmer_Onder, list(pairwise ~ Population), adjust = "tukey"),file = "SR_F_Onder_tk.txt")
SR_M_lmer_Onder <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                                (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_M,Supervisor.PI=='Onder')))
capture.output(summary(SR_M_lmer_Onder),file = "Starvation/SR_M_lmer_Onder_sum.txt")
capture.output(anova(SR_M_lmer_Onder),file = "Starvation/SR_M_lmer_Onder.txt")
#capture.output(emmeans(SR_M_lmer_Onder, list(pairwise ~ Population), adjust = "tukey"),file = "SR_M_Onder_tk.txt")

Pasyukova Lab

pdf(file="Starvation/p_SR_F_Pasyukova.pdf",width=8, height=5)
p_SR_F_Pasyukova <- ggplot(data = (subset(d_SR_F,Supervisor.PI=='Pasyukova')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F_Pasyukova", x="Population", y = "AgeAtDeath_hours")
p_SR_F_Pasyukova + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
####
pdf(file="Starvation/p_SR_M_Pasyukova.pdf",width=8, height=5)
p_SR_M_Pasyukova <- ggplot(data = (subset(d_SR_M,Supervisor.PI=='Pasyukova')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Batch)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_M_Pasyukova", x="Population", y = "AgeAtDeath_hours")
p_SR_M_Pasyukova + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
###
SR_F_lmer_Pasyukova <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                                    (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_F,Supervisor.PI=='Pasyukova')))
capture.output(summary(SR_F_lmer_Pasyukova),file = "Starvation/SR_F_lmer_Pasyukova_sum.txt")
capture.output(anova(SR_F_lmer_Pasyukova),file = "Starvation/SR_F_lmer_Pasyukova.txt")
#capture.output(emmeans(SR_F_lmer_Pasyukova, list(pairwise ~ Population), adjust = "tukey"),file = "SR_F_Pasyukova_tk.txt")
pdf(file="Starvation/p_SR_F_pop_Pasyukova.pdf",width=8, height=5)
p_SR_F_pop_Pasyukova <- ggplot(data = (subset(d_SR_F,Supervisor.PI=='Pasyukova')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_F_pop_Pasyukova", x="Population", y = "AgeAtDeath_hours")
p_SR_F_pop_Pasyukova + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
####
pdf(file="Starvation/p_SR_M_pop_Pasyukova.pdf",width=8, height=5)
p_SR_M_pop_Pasyukova <- ggplot(data = (subset(d_SR_M,Supervisor.PI=='Pasyukova')), aes(x=Population_Lat, y=AgeAtDeath_hours, fill=Population)) + 
        geom_boxplot(outlier.shape = NA, notch=FALSE) +  geom_jitter(width=0.2,alpha=0.05) + 
        labs(title="p_SR_M_pop_Pasyukova", x="Population", y = "AgeAtDeath_hours")
p_SR_M_pop_Pasyukova + coord_cartesian(ylim = c(0, 210))+ droseu_theme

dev.off()
## pdf 
##   3
###
SR_F_lmer_Pasyukova <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                                    (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_F,Supervisor.PI=='Pasyukova')))
capture.output(summary(SR_F_lmer_Pasyukova),file = "Starvation/SR_F_lmer_Pasyukova_sum.txt")
capture.output(anova(SR_F_lmer_Pasyukova),file = "Starvation/SR_F_lmer_Pasyukova.txt")
#capture.output(emmeans(SR_F_lmer_Pasyukova, list(pairwise ~ Population), adjust = "tukey"),file = "SR_F_Pasyukova_tk.txt")
SR_M_lmer_Pasyukova <- lmer(AgeAtDeath_hours ~ Population  + (1|Line:Population) +
                                    (1|Batch) + (1|ReplicateVial : Line : Population), data = (subset(d_SR_M,Supervisor.PI=='Pasyukova')))
capture.output(summary(SR_M_lmer_Pasyukova),file = "Starvation/SR_M_lmer_Pasyukova_sum.txt")
capture.output(anova(SR_M_lmer_Pasyukova),file = "Starvation/SR_M_lmer_Pasyukova.txt")
#capture.output(emmeans(SR_M_lmer_Pasyukova, list(pairwise ~ Population), adjust = "tukey"),file = "SR_M_Pasyukova_tk.txt")

Survival Analyses

Gonzalez Lab

Onder Lab

Pasyukova Lab

Lab correlations

intersect_SR  <- Reduce(intersect, list(d_SR$Line[d_SR$Supervisor.PI == "Gonzalez"],
                                        d_SR$Line[d_SR$Supervisor.PI == "Pasyukova"],
                                        d_SR$Line[d_SR$Supervisor.PI == "Onder"]))
length(intersect_SR)
## [1] 156
write(intersect_SR, file ="Starvation/SR_int.txt", sep = "\t")

Pigmentation

For a detailed description of tables, plots, linear models and outputs, please refer here

Contributors:

Abbott Lab : Jessica Abbott, Qinyang Li, Shahzad Khan

Gibert Lab :Cristina Vieira, Laurence Mouton, Natacha Kremer, Sonia Martinez, Camille Mermet, Patricia Gibert

Schmidt Lab : Amy Goldfischer, Paul Schmidt

Data Reformatting

d_Pgm <- read.csv("MasterSheets_Oct21_git/PGM_MasterSheet_Jan22.csv")
str(d_Pgm)
## 'data.frame':    3694 obs. of  17 variables:
##  $ Supervisor.PI: chr  "Gibert" "Gibert" "Gibert" "Gibert" ...
##  $ Diet         : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch        : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population   : chr  "AK" "AK" "AK" "AK" ...
##  $ Line         : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex          : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ Individual   : int  1 2 3 4 5 6 7 8 9 1 ...
##  $ AreaT4       : int  12439 10230 7525 14898 9160 8279 13100 9016 7776 9595 ...
##  $ AreaT5       : int  10410 8105 7358 7682 8931 8518 16468 10331 7527 8454 ...
##  $ AreaT6       : int  8667 6063 6732 5718 8630 10349 11798 7986 5248 8749 ...
##  $ PercT4       : num  13.6 28.1 41.4 25.4 17.3 ...
##  $ PercT5       : num  27.8 45.8 62.7 37.4 32.8 ...
##  $ PercT6       : num  53.9 71 78 44.8 40 ...
##  $ TotalArea    : int  31516 24398 21615 28298 26721 27146 41366 27333 20551 26798 ...
##  $ TotalBlack   : num  9270 10900 12986 9220 7966 ...
##  $ TotalPerc    : num  29.4 44.7 60.1 32.6 29.8 ...
##  $ Orientation  : chr  "OK" "OK" "OK" "OK" ...
d_Pgm$Supervisor.PI <- as.factor(d_Pgm$Supervisor.PI)
d_Pgm$Diet <- as.factor(d_Pgm$Diet)
d_Pgm$Batch <- as.factor(d_Pgm$Batch)
d_Pgm$Population_Lat <- factor(d_Pgm$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_Pgm$Population_Lon <- factor(d_Pgm$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_Pgm$Population_Alt <- factor(d_Pgm$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_Pgm$Line <- as.factor(d_Pgm$Line)
d_Pgm$AreaT4 <- as.numeric(d_Pgm$AreaT4)
d_Pgm$AreaT5 <- as.numeric(d_Pgm$AreaT5)
d_Pgm$AreaT6 <- as.numeric(d_Pgm$AreaT6)
d_Pgm$PercT4 <- as.numeric(d_Pgm$PercT4)
d_Pgm$PercT6 <- as.numeric(d_Pgm$PercT6)
d_Pgm$TotalArea <- as.numeric(d_Pgm$TotalArea)
d_Pgm$TotalBlack <- as.numeric(d_Pgm$TotalBlack)
str(d_Pgm)
## 'data.frame':    3694 obs. of  20 variables:
##  $ Supervisor.PI : Factor w/ 2 levels "Abbott","Gibert": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Diet          : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch         : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population    : chr  "AK" "AK" "AK" "AK" ...
##  $ Line          : Factor w/ 168 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 11 ...
##  $ Sex           : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ Individual    : int  1 2 3 4 5 6 7 8 9 1 ...
##  $ AreaT4        : num  12439 10230 7525 14898 9160 ...
##  $ AreaT5        : num  10410 8105 7358 7682 8931 ...
##  $ AreaT6        : num  8667 6063 6732 5718 8630 ...
##  $ PercT4        : num  13.6 28.1 41.4 25.4 17.3 ...
##  $ PercT5        : num  27.8 45.8 62.7 37.4 32.8 ...
##  $ PercT6        : num  53.9 71 78 44.8 40 ...
##  $ TotalArea     : num  31516 24398 21615 28298 26721 ...
##  $ TotalBlack    : num  9270 10900 12986 9220 7966 ...
##  $ TotalPerc     : num  29.4 44.7 60.1 32.6 29.8 ...
##  $ Orientation   : chr  "OK" "OK" "OK" "OK" ...
##  $ Population_Lat: Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon: Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt: Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...
d_Pgm2 <- read.csv("MasterSheets_Oct21_git/PGM2_MasterSheet_Oct21.csv")
str(d_Pgm2)
## 'data.frame':    1514 obs. of  15 variables:
##  $ Supervisor.PI: chr  "Schmidt" "Schmidt" "Schmidt" "Schmidt" ...
##  $ Diet         : chr  "NS" "NS" "NS" "NS" ...
##  $ Batch        : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Population   : chr  "AK" "AK" "AK" "AK" ...
##  $ Line         : chr  "AK1" "AK1" "AK1" "AK1" ...
##  $ Sex          : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ Individual   : int  2 9 1 10 3 6 8 5 4 7 ...
##  $ Tergite8     : int  4 3 2 2 2 2 2 1 1 1 ...
##  $ Tergite9     : int  8 7 6 5 4 4 4 3 2 1 ...
##  $ Tergite10    : int  6 3 3 4 1 1 1 1 0 0 ...
##  $ Total        : int  18 13 11 11 7 7 7 5 3 2 ...
##  $ Country      : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude     : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude    : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude     : int  88 88 88 88 88 88 88 88 88 88 ...
d_Pgm2$Supervisor.PI <- as.factor(d_Pgm2$Supervisor.PI)
d_Pgm2$Diet <- as.factor(d_Pgm2$Diet)
d_Pgm2$Batch <- as.factor(d_Pgm2$Batch)
d_Pgm2$Population_Lat <- factor(d_Pgm2$Population, levels= c("YE","RE","GI","MU","MA","UM","KA","VA","AK"))
d_Pgm2$Population_Lon <- factor(d_Pgm2$Population, levels= c("RE","GI","KA","MU","MA","AK","UM","YE","VA"))
d_Pgm2$Population_Alt <- factor(d_Pgm2$Population, levels= c("KA","AK","GI","RE","UM","VA","MU","MA","YE"))
d_Pgm2$Line <- as.factor(d_Pgm2$Line)
d_Pgm2$Tergite8 <- as.numeric(d_Pgm2$Tergite8)
d_Pgm2$Tergite9 <- as.numeric(d_Pgm2$Tergite9)
d_Pgm2$Tergite10 <- as.numeric(d_Pgm2$Tergite10)
d_Pgm2$Total <- as.numeric(d_Pgm2$Total)
str(d_Pgm2)
## 'data.frame':    1514 obs. of  18 variables:
##  $ Supervisor.PI : Factor w/ 1 level "Schmidt": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Diet          : Factor w/ 1 level "NS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Batch         : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Population    : chr  "AK" "AK" "AK" "AK" ...
##  $ Line          : Factor w/ 157 levels "AK1","AK10","AK11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Sex           : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ Individual    : int  2 9 1 10 3 6 8 5 4 7 ...
##  $ Tergite8      : num  4 3 2 2 2 2 2 1 1 1 ...
##  $ Tergite9      : num  8 7 6 5 4 4 4 3 2 1 ...
##  $ Tergite10     : num  6 3 3 4 1 1 1 1 0 0 ...
##  $ Total         : num  18 13 11 11 7 7 7 5 3 2 ...
##  $ Country       : chr  "Finland" "Finland" "Finland" "Finland" ...
##  $ Latitude      : num  61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 61.1 ...
##  $ Longitude     : num  23.5 23.5 23.5 23.5 23.5 ...
##  $ Altitude      : int  88 88 88 88 88 88 88 88 88 88 ...
##  $ Population_Lat: Factor w/ 9 levels "YE","RE","GI",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ Population_Lon: Factor w/ 9 levels "RE","GI","KA",..: 6 6 6 6 6 6 6 6 6 6 ...
##  $ Population_Alt: Factor w/ 9 levels "KA","AK","GI",..: 2 2 2 2 2 2 2 2 2 2 ...

Descriptive Statistics

Plots and Linear Models by Lab

Abbott Lab

Gibert Lab

Schmidt Lab

Lab correlations

## ADD PAUL'S DATA HERE!!!! 

intersect_Pgm  <- Reduce(intersect, list(d_Pgm$Line[d_Pgm$Supervisor.PI == "Abbott"],
                                         d_Pgm$Line[d_Pgm$Supervisor.PI == "Gibert"]))
length(intersect_Pgm)
## [1] 160
write(intersect_Pgm, file ="Pigmentation/intersect_Pgm", sep = "\t")

Results II : Meta-Analyses

with Diet

with Wolbachia

Results III : Trait Correlations tbd

Results III : Qst - Fst tbd

Results IV : Environmental Variables tbd

Results V : Heritability tbd